home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / Toolbox.contents < prev    next >
Text File  |  1994-08-01  |  116KB  |  2,357 lines

  1.  =============================================================================
  2.  
  3.                -----------------------------------------------
  4.                Explanation of the contents of ~4Dgifts/toolbox
  5.                -----------------------------------------------
  6.  
  7.                  Developer Toolbox, Release 4.2, August, 1994
  8.  
  9.  
  10.   The Developer Toolbox is distributed to all registered software developers
  11.   in the Silicon Graphics Developer Program.  It contains various tools, SGI
  12.   source code + binaries and on-line information for the purpose of helping 
  13.   developers learn about, and write, code for IRIS workstations.
  14.  
  15.         To use this CD to its fullest, you must be running IRIX 5.2
  16.  
  17.   Version 4.2 of the Developer Toolbox is entirely built on top of 5.2 IRIX.   
  18.   No guarantees are made about whether or not any of this stuff now compiles
  19.   on anything prior to IRIX 5.2.
  20.  
  21.   Version 4.2 new special additions:
  22.  - cmapdoctor, scanner/viewer for all X cmaps/visuals (over/under -lays/popups)
  23.  - xshowcmap extension, for debugging probs with multiple colormaps/visuals
  24.  - gmemusage, a graphical program-system memory usage display tool
  25.  - gvi, provides a graphical user interface to the vi(1) text editor
  26.  - CD mastering mkisofs binary creates an ISO-9660 filesystem image
  27.  - updated pcnfsd daemon software tree
  28.  - lib+examps provide video prog'er w/simple programmatic interface on top of VL
  29.  - harmonizer, real-time audio pitch bender example program
  30.  - example programs using libmidi.a illustrate basic use of the MIDI library
  31.  - sonic, real time audio spatialization example with graphics
  32.  - VCal, a calendar program with alarms
  33.  - builderExamples, programs written using BuilderXcessory
  34.  - xcontact, Address Book and/or Contact Management program
  35.  - vroom, swank OpenGL slot car racing in the future
  36.  - Texture Mapped `smoke' special F/X implementation + documentation
  37.  - "Fast Shadows and Lighting Effects Using Texture Mapping" PostScript file
  38.  - "Texture Mapping as a Fundamental Drawing Primitive" PostScript file
  39.  - "The Design of the OpenGL Graphics Interface" PostScript file
  40.  - OpenGL Attribute Tester tests OpenGL functionality on different platforms
  41.  - OGL picking prog w/X overlay, RGBA, double- & depth- buffered window
  42.  - libdmalloc, debugging malloc lib, uses DSOs to plug in a diff malloc library
  43.  - src + updated doc files for DWARF, a binary debugging-information-format
  44.  - "The Silicon Graphics Delta C++ Compiler" White Paper, (Preliminary), 18 pgs
  45.  - syms, script lists exported functions in libs, and as "undef" to ensure all
  46.    unresolved symbols accounted for
  47.  - "HIPPI Performance on IRIX 5.2" white paper, + 2 accompanying source progs
  48.  - "Establishing a PPP connection using IRIX PPP" paper
  49.  - "SLIP Installation and Configuration Guide" paper
  50.  - 122 new Request For Comment files, now up to rfc1663 + 28 new PS versions
  51.  - modified src from inventor_dev.src.sample handles the Spaceball input device
  52.  - OpenIV prog uses draggers for direct manipulation of a surface of revolution
  53.    (with its own run-time DSO)
  54.  - Open Inventor files demo an interactive direct manipulation of a Track Light
  55.  - sample OpenIV files demo draggers and engines in "self-manip'ing" examples
  56.  - nascent murmurings of a toolbox.html home page references the following:
  57.   * Inventor FAQ + Known Bugs, Fixes, & Workarounds--from Silicon Surf www site 
  58.   * MIPS ABI Information Directory includes a FAQ on porting to the MIPS ABI 
  59.   * html document on InPerson desktop conferencing sw product 
  60.   * rayshade Reference Guide, plus "how to" guide document sets 
  61.  - "REACT in IRIX V.5 Technical Report" for real-time extensions to IRIX 5 
  62.  - file describing colormap usage differences between 5.1* and 5.2 
  63.  - list of 5.2 IRIX patches, last updated 5/15/94 
  64.  - list of pre-5.2 IRIX patches, last updated 5/15/94 
  65.  - texvol, performs GLX (4.0) volume rendering using 2d or 3d textures 
  66.  - "Performance optizations, implementation, and verification of the SGI
  67.    Challenge multiprocessor" PS doc 
  68.  - 2 programs--one using "Font", the other "Pixmap"--cursors in X 
  69.  - 2 X font programs, one working with glyphs, the other doing scalable fonts 
  70.  - LinkWinds, a visual data analysis and exploration system designed to rapidly
  71.    and interactively investigate large multivariate and multidisciplinary data
  72.    sets to detect trends, correlations and anomalies.  It accepts HDF, CDF,
  73.    netCDF, FITS, PDS, SGI RGB, and binary byte and floating point data 
  74.  - rayshade 4.0.6, swank ray tracing pkg modified to output sgi img file format 
  75.  - "Free Widget Foundation" flexible widgets compliments of X user community 
  76.  - xdbx in sgi-inst image form, contains executables for IRIX 5.2+ 
  77.  - FTP sites file, updated 7/26/94 
  78.  - 5/29/94 Version 2.0 Beta of psgl 
  79.  - 7/11/94 released version of plan 
  80.  - updated version1.77 of CLRview 
  81.  - updated version 3.2 of libtiff 
  82.  
  83.  
  84.  
  85.  
  86.                                  Contents
  87.  
  88.     `!' indicates contains new or updated material as of version 4.2
  89.  
  90.  
  91.             PART 0   :  Frequently Asked Questions archive
  92.             PART I   :  GL Demo Source 
  93.          !  PART II  :  Illustrative "how to" Source Code
  94.          !  PART III :  Graphics Utility Libraries and Tools
  95.          !  PART IV  :  On-Line Technical Documents
  96.          !  PART V   :  Public Domain
  97.             PART VI  :  Hardware Tree of Device Driver Code/Documentation
  98.          !  PART VII :  Binary Tools
  99.          !  PART VIII:  Applications Packages
  100.          !  PART IX  :  Utilities
  101.             PART X   :  3 Parallel Math Libraries and Other Tools
  102.          !  PART XI  :  Software Development Tools
  103.             PART XII :  Software for Different Tutorials
  104.             PART XIII:  Printer Software Tools
  105.  
  106.  
  107.  altho in the janitor's eyes, it doesn't yet qualify as full-fledged "chapter"
  108.  on the toolbox, the www directory in the top-of-tree *does* contain the 
  109.  beginnings of html-talk for this CD.  if you don't have a mosaic client prog
  110.  that you can access, but you do have access to the internet, www/README 
  111.  contains the ftp src for same.  if you *do* have mosaic available, "Open URL"
  112.  under File and point it to www/toolbox.html.  if you don't have mosaic and
  113.  don't have access to the internet, in with 4.3, we will somehow have a client 
  114.  bundled with this CD for access to the documentation/information available in
  115.  html file format.
  116.  
  117.                  
  118.  
  119.  =============================================================================
  120.                Contents of Version 4.2 of the Developer Toolbox
  121.  =============================================================================
  122.  
  123.  
  124.                  ===========================================
  125.                  PART 0:  Frequently Asked Questions archive
  126.                  ===========================================
  127.  
  128.        FAQs contains general "net land" obtained information as well as 
  129.       SGI-specific subjects of Frequently Asked Questions lists including: 
  130.  
  131.  
  132.  GENERALfaqs:
  133.     3d-programmer-faq:  FAQ: 3-D Information for the Programmer
  134.     C++libs-faq   :  Available C++ libraries FAQ
  135.     C-abridged-faq:  contains minimal answers to the comp.lang.c frequently-
  136.                      asked questions list
  137.     C-faq         :  comp.lang.c Answers to Frequently Asked Questions
  138.     GNUemacs-faq  :  answers to FAQs about GNU Emacs and many Emacs Lisp 
  139.                      programs.  Contains pointers to other resources.
  140.     SCSI-faq      :  a list of Frequently Asked Questions about SCSI
  141.     WWW-faq       :  World Wide Web Frequently Asked Questions
  142.     X-faq         :  comp.windows.x Frequently Asked Questions
  143.     X.speedups-faq:  contains a list of suggestions about what you can do
  144.                      to get the best performance out of X on your
  145.                      workstation -- without buying more hardware.
  146.     Xt-FAQ        :  comp.windows.x.intrinsics Frequently Asked Questions
  147.     cdrom-faq     :  FAQ for the alt.cd-rom usenet newsgroup
  148.     comp.viz-faq  :  comp.graphics.visualization software pkg listing
  149.     compression-faq:  (FAQ) for comp.compression and comp.compression.research
  150.     cryptography-faq:  Cryptography FAQ --> ALL 10 PARTS INCUDED IN FULL <--
  151.     fax-faq       :  Fax (comp.dcom.fax) Frequently Asked Questions
  152.     fonts-faq     :  comp.fonts FAQ: General Info
  153.     graphics-faq  :  comp.graphics Frequently Asked Questions
  154.     i18n-faq      :  bit.international.software FAQ about the 
  155.                      internationalization of software.
  156.     isdn-faq      :  comp.dcom.isdn "Integrated Services Digital Networks" FAQ
  157.     jpeg-faq      :  JPEG image compression: Frequently Asked Questions
  158.     metafont-list :  [comp.text.tex] Metafont: All fonts available in .mf format
  159.     motif-faq     :  comp.windows.x.motif Frequently Asked Questions
  160.     perl-faq      :  comp.lang.perl Frequently Asked Questions
  161.     pex-faq       :  comp.windows.x.pex Frequently Asked Questionss
  162.     postscript-faq:  PostScript monthly FAQ v2.2
  163.     postscriptSrcs-faq:  Useful facts about the PostScript Sources newsgroup
  164.     resources-list:  Computer Graphics Resource Listing/guide for computer
  165.                      graphics software.
  166.     speech-faq    :  comp.speech Frequently Asked Questions
  167.     tex-faq       :  TeX, LaTeX, etc.: Frequently Asked Questions with Answers
  168.  
  169.   SGIfaqs:
  170.     DSO-faq         :  SGI Dynamic Shared Objects FAQ list for IRIX 5.1 
  171.     Dwarf-faq       :  SGI FAQ on DWARF, a binary debugging-information format
  172.     Explorer-faq    :  SGI explorer Frequently Asked Questions
  173.     Indy-faq        :  beginnings of an SGI Indy FAQ
  174.     Inventor-faq    :  SGI inventor Frequently Asked Questions
  175.     OpenGL-faq      :  SGI opengl Frequently Asked Questions
  176.     Performer-faq   :  SGI performer Frequently Asked Questions
  177.     SGI-Admin-faq   :  SGI system administration Frequently Asked Questions
  178.     SGI-Apps-faq    :  SGI applications Frequently Asked Questions
  179.     SGI-Graphics-faq:  SGI graphics Frequently Asked Questions
  180.     SGI-Hardware-faq:  SGI hardware Frequently Asked Questions
  181.     SGI-Misc-faq    :  SGI miscellaneous Frequently Asked Questions
  182.     SGI-pointer-faq:  Pointer to the other SGI FAQs
  183.  
  184.   All above files other than the DSO-faq file are available via anonymous ftp.
  185.  
  186.  
  187.  
  188.  
  189.  
  190.                       ==============================
  191.                         PART I:   GL  DEMO  SOURCE 
  192.                       ==============================
  193.  
  194.  
  195.             Contains complete source code listings for SGI demos.
  196.  
  197.  
  198.   Contents of ~4Dgifts/toolbox/src/demos/demobook
  199.       demobook  - src for the browser UI used in the toolbox script 
  200.  
  201.  
  202.   Contents of ~4Dgifts/toolbox/src/demos/audio
  203.  
  204.       amesh     - real-time spectrum analysis of an audio input (in C++)
  205.       ameshC    - "straight C" language version of amesh
  206.       bz        - battlezone blow-'em-up demo with audio hooks n' cues
  207.       drive     - inspired "clyde crashcop" driver environment
  208.       synthia   - demo using midi sound files
  209.  
  210.  
  211.   Contents of ~4Dgifts/toolbox/src/demos/GL
  212.  
  213.       atlantis  - whales, dolphins, sharks swimming in the ocean.
  214.       bounce    - shows off lighting/local light sources
  215.       buttonfly - graphical interface to run a program on ALL machines
  216.       closeup   - image magnifier with x & y zoom
  217.       curve     - shows wireframe curves, colorindex depthcueing, font manager
  218.       demograph - shows well, even on 8-bit machines (RGB lighting where poss)
  219.       dragon    - good dithering code is hidden in this demo
  220.       flight    - the classic revisited, all versions in one single program now
  221.       flip      - shows multiple light sources, materials, and models
  222.       ideas     - real-time animation with moving lights
  223.       libdemo   - (buttonfly, flip, snurb all use functionality defined here)
  224.       libgobj   - used by flight
  225.       logo      - simple example of GL lighting and matrix transformations
  226.       newave    - draws wirefrm, colorindex, flat, smooth, anti-alias, depthQ'd
  227.       newton    - a real-time simulation of an elastic body such as Jello
  228.       rotimg    - draws triangle meshes that can be rotated in 3D
  229.       snoop     - screen magnifier, real-time reporting under the mouse 
  230.       snurb     - good examp of simple NURBS surfaces drawing
  231.         
  232.  
  233.   Contents of ~4Dgifts/toolbox/src/demos/OpenGL
  234.  
  235.       atlantis  - sharks, whales, dolphins--lighting, animation, texture-mapping
  236.       backtrace - demo of faked ray tracing
  237.       drip      - makes little droplets of color -- 2D graphics/blending fxns
  238.       fadeflip  - flips a texture-mapped square around -- texture-mapping
  239.       ideas     - Ideas in Motion ported to OGL--stippling, lighting, animation
  240.       insect    - straight-ahead OpenGL port of thant-gaud's inspiration
  241.       lorenz    - ride on/near particles stuck in a Lorenz attractor
  242.       puzzle    - move pieces in the proper order to solve the puzzle
  243.       space     - OpenGL version of the GL demo doing a simulation of the Solar
  244.                   System and Milky Way galaxy
  245.       stonehenge - demo of stonehenge with shadows, textures, etc
  246.       tex_cube  - small texture-mapping demo of a translucent sphere
  247.  
  248.  
  249.   Contents of ~4Dgifts/toolbox/src/demos/REALITY
  250.  
  251.       atom      - MULTI-SAMPLING & in-the-window stereo viewing
  252.       distort   - computational dynamics textures/real-time texture mesh geom
  253.       fastshadows-real-time shadows using texture mapping.
  254.       weather   - GE hdw real-time convolution filters (including libil)
  255.         
  256.  
  257.   Contents of ~4Dgifts/toolbox/src/demos/VGX
  258.  
  259.       blob      - shows off texture mapping
  260.       envmap    - environment map a spin object in real-time.
  261.       morph     - demo showing real-time morphing (image transformation)
  262.       shadows   - demos showing display of true shadows in real-time
  263.   
  264.   Contents of ~4Dgifts/toolbox/src/demos/video
  265.   programs (4.0 GLX) using VL+motif, or VL+IrisGL, for Galileo, Indigo 2 Video,
  266.   and Indy Video platforms:
  267.       bigvideoin - simple app showing a zoomed-up videoin window
  268.       specialfx - chroma/luma keying, wipes & fades, blends &/| switches
  269.       trails    - sets up a feedback loop to see trailing effects
  270.       vidpaint  - captures video into memory and draws frames into a window
  271.       vidtmesh  - captures video into memory and places frames onto a 3D
  272.                       tmesh grid, which can then be manipulated in space
  273.   
  274.  
  275.  
  276.  
  277.               ==================================================
  278.            !     PART II:   Illustrative "How To" Source Code
  279.               ==================================================
  280.  
  281.  
  282.     Contains source code implementations we collected or wrote that presents
  283.       the developer with useful/helpful "learning-by-example" applications.
  284.  
  285.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  286.  +      ++++++++++++  NEW/UPDATED ADDITIONS AS OF VERSION 4.2:  ++++++++++++
  287.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  288.  +
  289.  +
  290.  +    GLX/texvol:  performs volume rendering using 2d or 3d textures.
  291.  +
  292.  +    X/cursors:   2 examples implementing cursors in X--one using "Font" and 
  293.  +                 the other "Pixmap" cursors.
  294.  +
  295.  +    X/fonts:     2 X font examples--one working with glpyhs, the other,
  296.  +                 implementing scalable fonts.
  297.  +
  298.  +    X/xshowcmap2:  xshowcmap extension, useful in debugging problems dealing
  299.  +                  with multiple colormaps and/or visuals.
  300.  +
  301.  +    X/XtAppInitwIcon: generates multi-color icons using Xt.
  302.  +
  303.  +    audio/harmonizer:  real-time audio pitch bender example program.
  304.  + 
  305.  +    audio/midi:  example programs using libmidi.a illustrate basic use of 
  306.  +                 the MIDI library.
  307.  +
  308.  +    audio/sonic:  real time audio spatialization example w/graphics.
  309.  +
  310.  +    inventor/DirectManipRevoSurf:  a demo using its own DSO that implements
  311.  +                 draggers for direct manipulation of a surface of revolution.
  312.  +
  313.  +    inventor/DirectManipTrackLight:  OIV files with interactive track light.
  314.  +
  315.  +    inventor/models:  sample Ofiles demo'ing use of draggers and engines in
  316.  +                 "self-manipulating" examples.
  317.  +
  318.  +    inventor/www:  html Inventor doc files--FAQ + Known Bugs, Fixes, and 
  319.  +                 Workarounds--from the Silicon Surf www.sgi.com site. access 
  320.  +                 is thru toolbox/www/toolbox.html (see toolbox/www/README)
  321.  +
  322.  +    irix/uucpVadmin/inst:  now contains inst image for UUCP vadmin tool.
  323.  +
  324.  + 
  325.  +    networking/HIPPI:  "HIPPI Performance on IRIX 5.2" white paper plus two
  326.  +                 accompanying source programs.
  327.  +
  328.  +    opengl/oat:  OpenGL Attribute Tester tests OpenGL functionality on
  329.  +             different platforms, with GUI to test most changeable
  330.  +                 OpenGL attributes.
  331.  +
  332.  +    opengl/pick: implementation of picking in OpenGL.
  333.  +
  334.  +    opengl/x+opengl:  updated renderboth.c program src.
  335.  +
  336.  +    smoke:       Texture Mapped `smoke' special effects implementation.
  337.  +
  338.  +    speech/inst:  updated beta inst imgs of speech_eoe & speech_dev products.
  339.  +
  340.  +    video/simpleVideo:  a library + examples to provide the video programmer 
  341.  +                 with a simple programmatic interface on top of the VL.
  342.  +
  343.  +    viewkit/VCal:  a simple viewkit-based calendar program with alarms.
  344.  +
  345.  +    viewkit/builderExamples:  example programs written using BuilderXcessory.
  346.  +
  347.  +    viewkit/xcontact:  Address Book and/or Contact Management Software.
  348.   
  349.  
  350.   Contents of ~4Dgifts/toolbox/src/exampleCode
  351.  
  352.       3Dmodeling - routines (and example programs) to build solid models.
  353.       GLX        - mixed model programs based on the 4.0 GLX paradigm
  354.                    using GL-Xlib or GL-Motif/Xt.
  355.       SciTex     - a paper and example code describing "Texture Mapping in
  356.                    Technical, Scientific and Engineering Visualization".
  357.       X          - documents and programs relevant to SGI's X server 
  358.                    implementation.
  359.       MP         - multi-processing/parallel computing examples:  how to 
  360.                    combine mips1 & mips2 objects into a single mips1/2 
  361.                    executable thru a jump table implementation, and a using 
  362.                    a high resolution timer of the io3 board on an r4k-based 
  363.                    SGI system.
  364.       audio      - example code employing functionality in lib*audio*.a.
  365.       calc       - implementation of a Reverse Polish Notation calculator.
  366.       cap        - demonstration of a technique to "cap" a clipped 
  367.                    (cut-away) solid object.
  368.       csg        - includes ascii-copy of a paper on and an implementation 
  369.                    of constructive solid geometry.
  370.       fconv      - a Motif-based numeric format conversion ulility for hex, 
  371.                    octal and decimal equivalents.
  372.       games      - src for various graphics/audio game software.
  373.       i18n       - examples of internationalization and localization with 
  374.                    implementation of wide characters for string manipulation
  375.                    as well as XPG/3 and MNLS message cataloging. 
  376.       inventor   - contains inventor source code + data files + additional 
  377.                    documentation in PostScript format.
  378.       networking - contains source code for networking example programs.
  379.       stencil    - three programs implementing drawing in the stencil planes.
  380.       stereo     - software-stereo-in-a-window source for 5.1 or later IRIX.
  381.       swirl      - a texture generator program for texture maps.
  382.       video      - contains apps implementing functionality for digital video.
  383.  
  384.  
  385.   Contents of ~4Dgifts/toolbox/src/exampleCode/GLX
  386.  
  387.       DBglxwidget - updated version of the double-buffered overlay program.
  388.       basics    - collection of basic Motif-based Mixed Model programs
  389.       rubberband- motif and Xlib versions of a demo implementing a rubberband
  390.       buffer    - shows mixed model switching between single and buffer modes
  391.       cutNpaste - illustrates cut and paste using the Motif Clipboard
  392.       dnbglx    - mixed model program using the dials and buttons
  393.       dualhead  - example code demos taking advantage of multiple screens
  394.       littleRedCap - An interference checking and capping demo.
  395.       tablet    - mixed model program using the tablet
  396.         
  397.  
  398.   Contents of ~4Dgifts/toolbox/src/exampleCode/X
  399.  
  400.       X/Xserver - Xserver contains PostScript documents on Silicon Graphics
  401.                   X server papers:
  402.                   -- "A Fully Functional Implementation of Layered Windows"
  403.                   -- "Program X Overlay Windows"
  404.                   -- "Going Beyond the MIT Sample Server:  The Silicon
  405.                       Graphics X11 Server"
  406.                   -- "A Three Color Cursor for X"
  407.                   as well as accompanying sample src and a Makefile to
  408.                   build the executables.
  409.  
  410.  
  411.   Contents of ~4Dgifts/toolbox/src/exampleCode/audio
  412.  
  413.       aiffdoc.ps- document:  "Audio Interchange File Format AIFF-C, A 
  414.                   revision to include compressed audio data"
  415.       ascope    - program displays the left channel of data coming in from 
  416.                   an audio port;
  417.       reverb    - simulated reverberation for real-time audio input/output
  418.       DAT       - dodat:  a simple DAT command interface
  419.                 - cdtodat:  simple CD-to-DAT copying examp
  420.                 - verifydat:  simple DAT checking program
  421.       rock      - the indigo memorial barbeque theme song rapp as constructed 
  422.                   and sung by mr. totally insane (tm) himself.  a study in 
  423.                   random looping of musical "melodies" and rhythms.
  424.       somePlayback- beefed-up programs that generate oscillators, waveforms, 
  425.                   change playback rate, mix, change pitch, loop audio samples 
  426.                   and sends output to the speaker.
  427.       tablenet  - generates a small series of eight single cycle waveforms 
  428.                   and writes them into a 16-bit AIFF file.
  429.  
  430.  
  431.   Contents of ~4Dgifts/toolbox/src/exampleCode/games
  432.  
  433.       buzzwordBingo -  all-time SGI hit, buzzword bingo.
  434.       cubetris  - a 3D IRIS GL tetris game.
  435.       seahaven  - pure Xlib C++ graphical solitaire card playing game.
  436.       IndiZone/ blix -  the mighty mouse hero of indizone.
  437.       IndiZone/cycles -  solo or multiplayer (network) motorcycle game.
  438.       IndiZone/gold -  synthetic fish bowl simulation.
  439.       IndiZone/oort -  vehicular combat on an asteroid.
  440.       IndiZone/sw -  (Spacewar) combat in space.
  441.       IndiZone/tagh -  variation on the children's game of tag.
  442.  
  443.  
  444.   Contents of ~4Dgifts/toolbox/src/exampleCode/inventor
  445.  
  446.       noodle    - an easy-to-use 3D object-modeler rich in Open Inventor.
  447.       TranslatorGuide.ps - PostScript file comprising the new "How to Write an
  448.                   Open Inventor File Translator" document.
  449.       OpenInventorLab - hands-on lab + solutions for Open Inventor 2.0 + 
  450.                   38-page showcase document on Open Inventor 3d Toolkit.
  451.       QuickRefGuide.ps - Guide on Open Inventor nodes and the Inventor file 
  452.                   format in PostScript.
  453.       sharedSV  - an extension of the stock SceneViewer enabling 2 or more 
  454.                   people on the same net to access the same input file 
  455.                   simultaneously and immediately see each other's changes.
  456.       soundspheres - a very primitive spacial audio program.
  457.       inventorTemplates - Open Inventor versions of two example "template" 
  458.                   programs for a Walk Viewer and a Player.
  459.       ivcalc    - Open Inventor-version of ivcalc, a full function infix
  460.                   calculator with audio, textures, (i.e. the works).
  461.       DxfToIv   - a utility that converts AutoCAD's "DXF" format files to 
  462.                   Inventor files (man page also included).
  463.       ivcalc    - a full-function infix scientific calculator employing an 
  464.                   Inventor provided viewer with features for manipulating 
  465.                   the object, changing certain rendering parameters, etc.
  466.  
  467.  
  468.   Contents of ~4Dgifts/toolbox/src/exampleCode/irix
  469.  
  470.       cc_c++_make_csh:  docs relating to compilers, [p]make, cshell
  471.       playEngine:  sproc/semaphore source implements raising a 
  472.                    sub-process's priority to circumvent preemption
  473.       scripts:  subtree of c-shell script utilities providing shell 
  474.                    programming "source"--11 general- purpose, 11 rcs-specific
  475.       tools:  with irix/system -level programs:
  476.                 - Lastrev:  get RCS revisions/symbols info & print to stdout
  477.                 - chktime:  compares 2 file's mod. times returning {-1|0|1}
  478.                 - getopt:   enhanced version of the unix system call
  479.                 - gettime:  get last mod. time of file and writes to stdout
  480.                 - gpasswd:  like passwd, sets the password for a group
  481.                 - isIn:     returns true/false if 1st param equal to any other 
  482.                             params on command line
  483.                 - listWMres:  lists all resources known to window manager
  484.                 - printf:   better than the IRIX 5 one because it can handle
  485.                             all the standard C types
  486.                 - rcstime:  returns time of last RCS update in an RCS file
  487.                 - strlen:   shell-equivalent of strlen(3C) subroutine
  488.                 - unique:   returns all parameters passed on the command line 
  489.                             removing any duplicates
  490.                 - vacupd:   reads/modifies data in vacation database files
  491.       uucpVadmin/src:  contains src for UUCP vadmin tool, allowing GUI set up 
  492.                   of UUCP files & confirmation communication to modem is good.
  493.  
  494.  
  495.   Contents of ~4Dgifts/toolbox/src/exampleCode/networking
  496.  
  497.       ifaddress - prints link-level addr of Ethernet or FDDI interface
  498.       rpcdemo   - an example RPC client and server application
  499.       short_timer - checks whether remote host responds quickly, avoiding long
  500.           wait for a network timeout.
  501.  
  502.  
  503.   Contents of ~4Dgifts/toolbox/src/exampleCode/opengl
  504.  
  505.       bench     - a synthetic modeling benchmark for OpenGL
  506.       cap       - motif-based interference checking demo.
  507.       colorChooser - contains OpenGL version of the color chooser widget, 
  508.           libGLColorChooser.a, identical in usage/functionality to 
  509.           the IrisGL version of color chooser widget found in libSgm.
  510.       debugHelper - provides way to override DSO functions to trace a program's
  511.           OpenGL calls without recompiling.
  512.       motif     - 11 sample motif-based openGL programs, with/without libGLw.a.
  513.       nurbsTrim - makes a trimmed NURBS surface in OpenGL and Inventor.
  514.       sigraf/lib- source for libtk.a, and libaux.a libraries.
  515.       sigraf/spec- 3 PostScript files comprising the OpenGL specification.
  516.       sigraf/src/examples/book- on-line copy of all src in "The OpenGL 
  517.                   Programming Guide" book published by Addison-Wesley.
  518.       sigraf/src/examples/samples- 27 example programs based on libtk.a
  519.       utilities/isfast - from sgi's ftp site at sgi.com:  performance measure 
  520.                   routines indicating if a given OpenGL feature is fast or not;
  521.       utilities/xglinfo - displays info about an X server supporting the OpenGL
  522.                   extension, especially with regard to visuals.
  523.       x+opengl  - contains src from a three-part series of articles published 
  524.                   in "The X Journal" about programming OpenGL and X, as well 
  525.                   as PostScript "copy" of the three articles in the series,
  526.                   "OpenGL and X, Part 1:  An Introduction" and "Part 2: Using 
  527.                   OpenGL with Xlib", and "OpenGL and X, Part 3:  Integrating 
  528.                   OpenGL with Motif", as ell as another example program, 
  529.                   renderboth, which renders with X and OpenGL to the same 
  530.                   window using a standard motif XmDrawingArea widget as the 
  531.                   rendering medium.
  532.       xlib      - 38 sample openGL programs based strictly on Xlib alone,
  533.           including 2 implementing commensurate ""iris-GL-type" popup 
  534.           menu functionality.
  535.  
  536.  
  537.   Contents of ~4Dgifts/toolbox/src/exampleCode/speech:
  538.  
  539.       inst      - beta inst images of the speech_eoe & speech_dev products
  540.       utilities - binaries to enhance one's speech run-time envm
  541.       examples  - basic speech recognition example programs
  542.       lackey    - speech aware app launcher, developed using in-development 
  543.                   version of SGI's speech recognition sw.  An intro to using
  544.                   speech API and the architechture of the speech sw system.
  545.  
  546.  
  547.   Contents of ~4Dgifts/toolbox/src/exampleCode/stereo
  548.  
  549.       opengl:   - 2 simple "boilerplate" stereo implementations contained in 
  550.                   4 OpenGL/motif programs:
  551.                   - boilerplate:        Basic X-Motif initialization routines
  552.                   - clip:               clip demo with Motif Wrapper
  553.                   - simple_stereo:      Soft stereo example
  554.                     simple_stereo needs IRIX 5.2 to run
  555.                   - simple_stereo_re:   Quadbuffer Stereo example
  556.                     simple_stereo_re will run on 5.1 IRIX REALITY ENGINES.
  557.       GL_5.2    - the makings of software-stereo-in-a-window or "SoftStereo", 
  558.                   this code is derived from an older 4Dgifts dir that showed 
  559.                   how to use the original SGI StereoView implementation.  In 
  560.                   IRIX 5.2 and beyond, SGI engineers have enhanced the Xsgi X 
  561.                   server to provide a more sophisticated stereo implementation 
  562.                   on some graphics devices.  SoftStereo has many of the 
  563.                   characteristics of hardware-stereo-in-a-window on an RE but 
  564.                   at reduced resolution and price.
  565.  
  566.  
  567.   Contents of ~4Dgifts/toolbox/src/exampleCode/video
  568.  
  569.       SWconfig4VidOptProds: list of sw configurations for video option
  570.                     products running 5.2 IRIX
  571.       scrollmon  - scrollmon creates realtime scrolling credits (from either 
  572.                    anti-aliased text or SGI rgb images) or titles for video 
  573.                    production.
  574.       security   - security camera for stopframe and motion detection.
  575.                    security detects motion on a video source and outputs it to 
  576.                    a movie file.  You can select various movie formats and 3 
  577.                    different image sizes.  The frames are added to the movie 
  578.                    file as they are collected.  This is different than 
  579.                    capture(1).
  580.       seqgrab    - VL sequential frame accurate capture source (Galileo/VLAN).
  581.                    Grabs a sequence of frames between start and end timecodes.
  582.       vidmap     - contains vidmap, an example of texture mapping of video, 
  583.                    using the new SGI Movie Library and the Video Library (VL).
  584.                    Selection can be either a live source such as IndyCam, any 
  585.                    other live vid source or a movie file (SGIMF, QuickTime, 
  586.                    or MPEG) to be texture mapped to a polygon.
  587.  
  588.  
  589.  
  590.  
  591.  
  592.          ============================================================
  593.      !       PART III:   GRAPHICS  UTILITY  LIBRARIES  AND  TOOLS
  594.          ============================================================
  595.  
  596.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  597.  +      ++++++++++++  NEW ADDITIONS AS OF VERSION 4.2:  ++++++++++++
  598.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  599.  +
  600.  +  libtiff --
  601.  +
  602.  +      *finally* updated to v3.30beta which has been out for some time.
  603.  
  604.  
  605.     Contains a subset-codification of Paul Haeberli's universe.  One of the 
  606.     most inspired sentient beings ever (and an "elder" of sgi to boot), Paul 
  607.     Haeberli's "to do" list is always full of endlessly expanding projects 
  608.     he enumerates for himself.  This subtree contains most of the "cool 
  609.     graphics" software Paul discussed during his talk with Tom Davis at 
  610.     SGI's May 1992 Developer's forum (previously made available on the 
  611.     "Totally Insane (tm)" CD distributed at that time).  This subtree can be 
  612.     most properly subtitled "Graphics Utilities and Libraries."  Two files 
  613.     in the main directory--README and README.overview--provide detailed 
  614.     breakdowns of what comprise's a "current slice of the haeberli universe."
  615.  
  616.  
  617.  
  618.  
  619.      From the toolbox/src/haeberli/README file:
  620.  
  621.  
  622.  
  623.            TOTALLY INSANE(tm) Graphics Tools and Utility Libraries
  624.  
  625.  
  626.                               OBLIGATORY NOTE
  627.  
  628.    THIS SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTIES OF ANY KIND INCLUDING 
  629.    THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  630.    PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  631.    DO NOT USE NEAR WATER.  DO NOT USE WHILE OPERATING HEAVY MACHINERY.
  632.  
  633.    This software is provided without support and without any obligation 
  634.    on the part of Silicon Graphics, Inc. to assist in its use, correction,
  635.    modification or enhancement.  There is no guarantee that this software 
  636.    will be included in future software releases.  But what is guaranteed
  637.    anyway?
  638.  
  639.                                Paul Haeberli
  640.                              Silicon Graphics
  641.  
  642.                                 July, 1992
  643.  
  644.  
  645.     Contents:
  646.  
  647.    128env      - collection of spherical environment map images
  648.    128tex      - collection of small texture map images
  649.    abekas      - utilities from Abekas Video Systems
  650.    autopaint   - "autopaint" an rgb image into various "altered states"
  651.    compexp     - compression explorer w/sliders to adjust compression params
  652.    enhance     - swank image processing GUI prog that makes use of libui.a
  653.    envmaps     - cubical format environment maps
  654.    envtools    - environment map tools
  655.    fonts       - a bunch of outline fonts in our polygonal outline font fmt
  656.    fonttools   - outline font tools
  657.    images      - some IRIS images that can be "ipaste"d to the screen
  658.    imgtools    - a collection of tools for dealing with images
  659.    imp         - "the new impressionist" -- an image paint program
  660.    impression  - interactive tools to create painted reps of scanned-in photos
  661.    include     - files defining various data structures used by the libs
  662.    jpeg        - jpeg img [de]compression sw + support to manip SGI image files
  663.    leep        - software implementation of the LEEP projection
  664.    lib         - contains pre-built--rle, tri, ui, vor--libraries
  665.    libcan      - basic support for creation and manipulation of canvases
  666.    libgutil    - a graphics utility library
  667.    libimage    - a library for reading and writing images
  668.  ! libtiff     - a tiff image library plus a tiff tools subdir
  669.    movie       - programs for compressing and decompressing streams of images
  670.    mpeg        - contains a public domain MPEG video software decoder
  671.    mtex        - img-processing app to massage images for use as texture maps
  672.    objects     - a bunch of sgo objects
  673.    objtools    - object tools
  674.    pstools     - postscript processing tools for the IRIS
  675.    sgisep      - has been removed--see note below for "sgisep"
  676.    styline     - create interactive hidden line drawing of a geometric object
  677.    tools       - desktop and graphics utilities tools
  678.    tritest     - decompose a complex polygons into a series of triangles
  679.    vidiot      - "video feedback" prog animates a face w/audio input
  680.    vidpan      - contains tools for controlling a Panasonic Video disc recorder
  681.    vidsony     -    "       "    "      "   a SONY LVR-5000 Video disc recorder
  682.    vidtools    - tools for processing streams of video images
  683.    vortest     - example to document the structures in lib/libvor.a
  684.  
  685.  
  686.  
  687.                             Paul 'n dave
  688.  
  689.  
  690.  
  691.    
  692.            =======================================================
  693.            Minimalist breakdown of this subtree's contents follow:
  694.            =======================================================
  695.  
  696.  
  697.                 NEWEST CELEBRITIES/ADDITIONS TO THE "FAMBLEE"
  698.  
  699.  
  700.     imgtools/icmp --
  701.   
  702.         compares two IRIS images.  The first and second images are placed
  703.         in the front and back buffers respectively to start with.  Two
  704.         more images are computed. The third image in the scheem is as
  705.         large as the largest image among the input images along both
  706.         dimentions.  It consists of identical pixels of the input images
  707.         if exist, and 0x00ffff00 otherwise.  The forth image is similar
  708.         to the thirt, except that comparision is done only for the rgb
  709.         channels excluding the alpha channel.  This is useful for
  710.         alphaless systems.
  711.    
  712.     ipaste_ogl --
  713.         
  714.         an OpenGL implementation of ipaste which relies solely on Xlib.
  715.         included are the necessary incarnations of the 3 libgutil files:
  716.         fastimg.c, file.c, and misc.c needed by ipaste.
  717.  
  718.     pstools --
  719.  
  720.         contains various programs combining operations with/on PostScript
  721.         files with IRIS GL graphics.  One can:  transmute a b/w image file
  722.         into a PostScript path which then generates a showpage command on
  723.         output;  print a square array of pages ("readable" is contained
  724.         within "square factors" of 2 or 3) on a single paper page;  take
  725.         a PostScript document with page structuring conventions and
  726.         generate 2 or 4 page signatures on a laser printer;  print a
  727.         calendar for one month using a specified image file;  take one or
  728.         more PostScript documents with page structuring conventions and
  729.         insert transformations to adjust the offset and scale of the
  730.         documents;  take a PostScript document with page structuring
  731.         conventions and output Postscript that prints the pages reduced in
  732.         size and arrayed in x and y;  print CMYK test scales that can be
  733.         used to calibrate printers;  and/or take a one page PostScript
  734.         document, and generate a two dimensional array of copies on the
  735.         output page.
  736.  
  737.     vidpan --
  738.  
  739.         contains tools for controlling a Panasonic Video disc recorder,
  740.         including:  recording a specified range of processed frames on the
  741.         video disc onto the disk recorder;  record one frame from a live
  742.         camera onto the video disc;  turn on/off the numerical and status
  743.         displays;  set the frame number on the video disc for recording;
  744.         record a single frame at the specified location on the video disc;
  745.         display a sequence of frames from the video disc;  have the disc
  746.         recorder display the input video signal on its video output;  have
  747.         the disc recorder display video from the disc on its video output;
  748.         and display a color image on the Indigo Starter video board and
  749.         record a frame.
  750.  
  751.  
  752.     vidsony --
  753.  
  754.         contains tools for controlling a SONY LVR-5000 Video disc recorder,
  755.         including:  recording a specified range of processed frames on the
  756.         video disc onto the disk recorder;  turn on/off the numerical and
  757.         status displays;  set the frame number on the video disc for
  758.         recording;  record a single frame at the specified location on the
  759.         video disc;  display a sequence of frames from the video disc;
  760.         have the disc recorder display the input video signal on its video
  761.         output;  have the disc recorder display video from the disc on its
  762.         video output;  and display a color image on the Indigo Starter video
  763.         board and record a frame.
  764.  
  765.     jpeg --
  766.  
  767.         contains the fourth public release of the Independent JPEG Group's
  768.         free JPEG file format image compression/decompression software
  769.         including images of libjpeg.a, cjpeg, and djpeg.  Support has been
  770.         added to manipulate SGI image files to/from jpeg format.  See the
  771.         README.sgi file in this directory for details on compressing SGI
  772.         image files to jpeg format and then decompressing them back to SGI
  773.         image format.  JPEG is a standardized compression method for full-
  774.         color and gray-scale images.  JPEG is intended for compressing
  775.         "real-world" scenes; cartoons and other non-realistic images are not
  776.         its strong suit.  JPEG is lossy, meaning that the output image is
  777.         not necessarily identical to the input image.  Hence you must not
  778.         use JPEG if you have to have identical output bits.  However, on
  779.         typical images of real-world scenes, very good compression levels
  780.         can be obtained with no visible change, and amazingly high
  781.         compression levels are possible if you can tolerate a low-quality
  782.         image.
  783.  
  784.     mpeg --
  785.  
  786.         contains a public domain MPEG video software decoder.  The decoder
  787.         is implemented as a library that will take a video stream and
  788.         display it in an X window on an 8, 24 or 32 bit deep display.  The
  789.         main routine is supplied to demonstrate the use of the decoder
  790.         library.  Several dithering algorithms are supplied based on the
  791.         Floyd-Steinberg, ordered dither, and half-toning algorithms that
  792.         tradeoff quality and performance.  Neither the library nor the main
  793.         routine (mpeg_play) handle real-time synchronization or audio
  794.         streams.
  795.  
  796.               and much, Much, more TOTALLY INSANE (tm) stuff:
  797.  
  798.  
  799.  
  800.  
  801. Digital Video Data Generation and Support:
  802.  
  803.  
  804.     vidiot --
  805.  
  806.         demonstrates a fun video conferencing idea we're exploring.  The 
  807.         concept is to use the amplitude of sound to select between a series 
  808.         of different images to animate a conversation.
  809.  
  810.     vidtools --
  811.         tools for processing streams of video images
  812.  
  813.     abekas --
  814.  
  815.         this dir contains source code tools from Abekas Video Systems 
  816.         including conversion programs, reading and writing examples, and
  817.         documentation on scsi connections to/from Abekas disk recorders.
  818.  
  819.     libgutil/abekas.c --
  820.        
  821.         this module contains routines that can generate and read digital 
  822.         video data.
  823.     
  824.     imgtools/{fromyuv,toyuv} --
  825.  
  826.         these 2 programs convert between Abekas digital video images and 
  827.         Iris image files.  These tools can be used to record images from
  828.         the Iris on a device that supports digital video data, or to make 
  829.         an image that can be displayed on the Iris.
  830.  
  831.  
  832.  
  833.  
  834. Environment Mapping Tools:  
  835.  
  836.    128env --
  837.  
  838.         this dir contains a small collection of 128x128 processed spherical
  839.         environment map images.  We are actively collecting interesting
  840.         128x128 or 256x256 environment map images.  Can you contribute to 
  841.         this growing collection?  (see bottom of file.)
  842.  
  843.    128tex --
  844.  
  845.         this dir contains a small collection of 128x128 texture map images.
  846.         We are actively looking for more interesting 128x128 and 256x256 
  847.         texture map images.  Can you contribute to this growing 
  848.         collection?  (see bottom of file.)
  849.  
  850.    envmaps --
  851.  
  852.         3 384x256 environment maps in cubical format.  Generation of new 
  853.         envmaps like these are accomplished with the tools in envtools.
  854.  
  855.    envtools -- (create and manipulate environment maps)
  856.  
  857.         Environment or Reflection mapping is a technique that uses texture 
  858.         mapping to simulate the smooth shading of reflective surfaces.  It 
  859.         can be used to create very nice shading of more diffuse surfaces 
  860.         as well.  A variety of tools for creating and manipulating 
  861.         environment maps are provided in the envtools directory:
  862.  
  863.         cylenv    - make a cylindrical projection from a cubical env map 
  864.         envreduce - zoom a cubical env map down by a factor of 2
  865.         envexpand - zoom a cubical env map up by a factor of 2
  866.         fromfish  - convert a mercator projection scanned fisheye image
  867.                     to a cubical env map
  868.         frommerc  - convert a mercator projection into a cubical env map
  869.         sphereenv - make a spherical env map from a cubical by rendering 
  870.                     a reflective sphere
  871.         tofish    - create a fisheye view of a cubical env map
  872.  
  873.                        
  874.  
  875.  
  876. Polygonal Outline Font Format Tools: 
  877.  
  878.     fonts --
  879.  
  880.         this dir contains a collection of fonts in our polygonal outline 
  881.         font format plus one font composed of triangle meshes.  New fonts
  882.         can be created using the tools in fonttools.
  883.         
  884.     libgutil --
  885.         
  886.         objfnt.c   - this module contains basic support for our polygonal
  887.                      outline format
  888.         charfill.c - this module contains code to create and draw anti-
  889.                      aliased bitmaps of an outline font
  890.  
  891.     fonttools --
  892.  
  893.         Using the binary file format for storing fonts described above, 
  894.         these fonts can either be polygonal outlines, spline outlines, or 
  895.         triangle meshes.  Various font conversion utilities are provided 
  896.         here:
  897.  
  898.         adjustfont - change the char spacing and origin of chars in a font
  899.         afm2tfm    - converts Adobe font metric files into TEX font metrix
  900.                      files
  901.         bevelstring- creates extruded beveled chars from a spline outline
  902.                      of a polygon font
  903.         charfill   - render antialiased text using a polygonal outline font
  904.         clonewid   - copy widths from one typeface to another
  905.         drawfont   - draw characters with triangle meshes in a GL window
  906.         fntslide   - an example application that fills a polygonal font
  907.         fonttest   - demonstrates drawing filled and outlined text
  908.         frompsf    - convert a .psf font into the Hex format.
  909.         fromtype1  - converts an Adobe Type1 font to a spline or polygonal
  910.                      font in sgi format.
  911.         makepsfont - converts a polygonal or spline font into a PostScript
  912.                      font
  913.         meshfont   - automatically triangulate a polygonal font
  914.         paintfont  - a paint program that lets you create your own fonts
  915.                      by interactively painting character's glyphs
  916.         printfont  - prints a textual description of a font
  917.         rawtohex   - this will convert the binary type1 from to a
  918.                      printable hex format
  919.         restoraw   - take an Adobe type1 font from a Macintosh and write
  920.                      out a binary type1 font
  921.         simpfont   - used to eliminate fine detail in an outline font
  922.         texfont    - turn an outline font into a texture map
  923.         textmap    - use texture mapping to draw text
  924.         totype1    - convert an outline font into a PostScript font
  925.         undup      - eliminate duplicate points on a .of file
  926.         warpfont   - apply geometric transformations (add slope or jitter) 
  927.                      to a font
  928.         
  929.  
  930.  
  931.  
  932. Image Manipulation Tools:  
  933.  
  934.     impression -- 
  935.  
  936.         interactive tools for creating painted representations of 
  937.         scanned-in photographs.  besides an interactive paint program
  938.         called impression, the other tools can be used to manipulate
  939.         paintings stored as a list of brush strokes.  these brush stroke 
  940.         files are called "sample sets" and usually have a suffix of ".ss".
  941.  
  942.     enhance --
  943.  
  944.         an image enhancement program that lets modify images by mutation and
  945.         selection.  the graphical interface lets you chose many enhancement
  946.         operations, including gamma warping saturation, color balance,
  947.         quantization, and sharpening.  this is an example of a program that
  948.         uses the Showcase UI library.
  949.  
  950.     autopaint --
  951.  
  952.         automatically "paint" an rgb image where you can alter the size of 
  953.         image, do tiling, specify/vary the brush stroke image/size/
  954.         direction/alpha and control color noise.
  955.  
  956.     imp --
  957.  
  958.         a swell paint program that does painting in software and copies 
  959.         onto the screen.  it has several different brush shapes that can be
  960.         continuously resized.  the density of the paint can be controlled 
  961.         using a slider.  various painting modes are supported: normal paint,
  962.         local sharpening, image copy, etc. TRUELY HEINOUS.
  963.  
  964.     compexp --
  965.  
  966.         an image compression application which uses the ShowCase UI library,
  967.         compexp allows you to select various compression parameters and
  968.         instantly see the results!!!!! YEEEEAHHHH! (same technique is used 
  969.         in the "movie" dir).
  970.  
  971.     movie --
  972.  
  973.         includes programs for compressing and decompressing streams of
  974.         images.  VERY swank enhanced menu options including fullscreen and 
  975.         softzoom toggles.  
  976.  
  977.     mtex --
  978.  
  979.         a small image processing application capable of massaging scanned 
  980.         images for use as texture maps.  It performs common operations such 
  981.         as color or contrast correction, cropping, and sharpening, plus 
  982.         unusual functions needed for texture maps.  INSAAAAANE.
  983.  
  984.  
  985.  
  986.  
  987.  
  988. Images/Image Processing Tools:  
  989.  
  990.     images --
  991.  
  992.         cool2.bw   -
  993.         cutline.bw -
  994.         horlines.bw-    "border" images used by imgtools/addborder
  995.         regmark.bw -    to surround an image with a border
  996.         shadow.bw  -
  997.  
  998.         logo.bw    -
  999.         oneill.bw  - two IRIS black and white images
  1000.  
  1001.         rathouse0.bw -
  1002.         rathouse1.bw -
  1003.         rathouse2.bw - "rat house reality" black and white images
  1004.  
  1005.         PuebloB1.rgb - SGI imagelib images of photographs taken inside
  1006.         PuebloB2.rgb -   Pueblo Bonito, Chaco Canyon, New Mexico
  1007.         RoundRock.rgb -  Round Rock, Arizona where hiways _ and _ meet
  1008.         Aztec.rgb     -  Aztec Nat'l Monument in Aztec, New Mexico,
  1009.         Lomaki.rgb    -  Lomaki House from Wupatki Ruins, Arizona
  1010.  
  1011.         ratman.rgb - the toolbox janitor
  1012.  
  1013.         gear[1-8].rgb, duogear - photogs of gears turned into image files.
  1014.  
  1015.         austin.rgb bill.rgb, chair.rgb, cmyk.rgb, dave.rgb, deerstroke.rgb,
  1016.         drab.rgb, forestcar.rgb, gun.rgb, jeff.rgb, kandplate.rgb, kat.rgb,
  1017.         kupka.rgb, marriott.rgb, max5.rgb, tango.rgb, tent.rgb, vase.rgb,
  1018.         vase1.rgb, vase2.rgb - a smattering of images from paul's virtual
  1019.                                image space.
  1020.  
  1021.     imgtools--
  1022.  
  1023.         abs       -- get the absolute value of an image
  1024.         add       -- add two images together
  1025.         addborder -- surround an image with a border image.
  1026.         addframe  -- add a border to an image
  1027.         addnoise  -- add noise to an image
  1028.         assemble  -- assemble an array of smaller images
  1029.         bgpaste   -- paste an image onto the root window
  1030.         blend     -- linearly interpolate two images
  1031.         blur      -- low pass filter an image
  1032.         bmdither  -- dither img to 1-bit deep bitmap w/err propagation dithering
  1033.         bmthresh  -- threshold one image with another and write out a bitmap
  1034.         btree     -- display an image using binary tree ordering
  1035.         cglue     -- create an rgb image out of 3 black and white images
  1036.         conimg    -- (replaces nullimg) creates a constant (single) color image
  1037.         convolve  -- convolve an input image with a kernel image
  1038.         cscale    -- individually scale the R G B channels of an image
  1039.         cutimg    -- extract an particular sized image from a source
  1040.         div       -- divide the brightness of two images
  1041.         dotgen    -- make an image of two crossed sinusoidal wave patterns
  1042.         duotone   -- create a duotone image from a single channel image
  1043.         encode    -- classify an image chosing colors from a specified color map
  1044.         fieldmerge-- merge two field images into one frame
  1045.         findcolor -- find colors in a source image
  1046.         fitimg    -- uniformly scale an image to a specific size
  1047.         fromalias -- convert an Alias image to an IRIS image
  1048.         frombin   -- convert a binary dump of image data to an IRIS image
  1049.         fromcmap  -- convert a color map into an image with one scanline
  1050.         fromdi    -- convert an old SGI .di dithered image into an IRIS image
  1051.         fromface  -- convert a UNIX faceserver image to IRIS format
  1052.         fromgif   -- convert a Compuserve GIF image to IRIS format
  1053.         frommac   -- convert a MacPaint image to IRIS format
  1054.         frompic   -- convert a MOVIE BYU .PIC image to IRIS format
  1055.         fromppm   -- convert a PPM file to IRIS format
  1056.         fromrla   -- convert a Wavefront image to an IRIS image
  1057.         fromsun   -- convert a sun rasterfile image to IRIS format
  1058.         fromtarga -- convert a targa image into an IRIS image
  1059.         fromtiff  -- convert almost any tiff image file to IRIS format
  1060.         fromutah  -- convert a UTAH raster toolkit image into an IRIS image
  1061.         fromxbm   -- convert an X Bitmap image to IRIS format
  1062.         fromxwd   -- convert an xwd file to IRIS format
  1063.         fromyuv   -- convert an Abekas yuv image to IRIS format
  1064.         gammawarp -- lighten or darken an image
  1065.         gendit    -- perform general image dithering
  1066.         greyscale -- make 19 different image patterns
  1067.         halftone  -- half-tone an image, using Hollaway's technique
  1068.         hipass3   -- high pass filter an image using a 3x3 filter kernel
  1069.         hist      -- compute and display the histogram of an image file
  1070.         histeq    -- perform histogram equalize an image file
  1071.         iavg      -- average a set of images
  1072.         iblend    -- blend 2 images using a (bw) mat
  1073.         icmp      -- visually compare two iris images
  1074.         iflip     -- flip an image
  1075.         imean     -- finds the average pixel value of an image
  1076.         imgexp    -- expand the range of pixel values in an image
  1077.         imgsize   -- print the xsize, ysize, and zsize of an image
  1078.         imgwrap   -- shift pixels left one bit
  1079.         invert    -- invert an image
  1080.         ipaste    -- display an image
  1081.         iroll     -- rotationally roll an image in x and y directions
  1082.         irotate   -- rotate an image by a given angle
  1083.         isame     -- compare 2 images pixel by pixel to see if they're the same
  1084.         iset      -- set the type (NORMAL,DITHERED,SCREEN,COLORMAP) of an image
  1085.         istat     -- print the header information of a list of image files
  1086.         izoom     -- magnify or shrink an image
  1087.         jpaste    -- an ipaste for JPEG compressed images
  1088.         loadmap   -- loads a colormap stored in a file
  1089.         mapimg    -- translates a screen image into an RGB image
  1090.         max       -- get the maximum of two images
  1091.         min       -- calculate the minimum of two images
  1092.         mksep     -- convert an RGB image into C, M, K, and K images
  1093.         movie     -- display a series of images in a "movie" sequence
  1094.         mult      -- multiply two images
  1095.         noblack   -- remove all the black from an image
  1096.         normtodir -- determine the direction of the gradient across an image
  1097.         oneband   -- get a single band (or channel) of an image
  1098.         over      -- put one image on top of another
  1099.         perhist   -- print percent histogram values for an image
  1100.         postcard  -- make an image look like a postcard
  1101.         quant     -- quantify an image to have n levels
  1102.         randimg   -- generate a random noise image
  1103.         readimg   -- simple example using libimage to read an RGB image file
  1104.         rectimg   -- display a color or BW image on the iris
  1105.         repcolor  -- replace specified colors within an image
  1106.         rle       -- force an image to be stored using run length encoding
  1107.         rmsdiff   -- calculate the rms difference between two images
  1108.         roam      -- roam around a very large image using tiles
  1109.         rothue    -- rotate the hue of an image
  1110.         saturate  -- increase of decrease an image's saturation level
  1111.         savemap   -- save the current contents (or subrange) of the colormap
  1112.         scope     -- explore/view an image of any size
  1113.         scrsave   -- save a part of the screen into an IRIS image file
  1114.         setlum    -- modifies the luminance (brightness) on an image
  1115.         shear     -- shear an image diagonally
  1116.         showimg   -- example using libimage to open, read and display an image
  1117.         slide     -- zoom an image up for full screen display
  1118.         snapshot  -- save a portion of the screen in an image file
  1119.         softframe -- add a black frame around an image
  1120.         sub       -- subtract two images
  1121.         subimg    -- extract a sub-region from an image into a new image file
  1122.         thresh    -- threshold one image with another using a threshimage
  1123.         tile      -- repeat an image in two dimensions
  1124.         toalias   -- convert an IRIS image to an Alias image
  1125.         toascii   -- use text characters to represent an IRIS image
  1126.         tobin     -- convert an IRIS image to a binary dump of pixel data
  1127.         tobw      -- convert an IRIS color image to black and white
  1128.         togif     -- convert an IRIS image to a Compuserve GIF image
  1129.         tomac     -- convert an IRIS image to MacPaint format
  1130.         tonews    -- convert an IRIS image to NeWS format
  1131.         topict    -- convert an IRIS image to Macintosh PICT format
  1132.         toppm     -- convert an IRIS image to Jef Poskanzer's ppm format
  1133.         tops      -- convert an IRIS image to PostScript format
  1134.         toscitex  -- convert IRIS images into Scitex CT2T images
  1135.         tosun     -- convert an IRIS image to a sun raster file
  1136.         totarga   -- convert an IRIS image to a type 2 (RGB) targa image
  1137.         totiff    -- convert a color or b&w IRIS image file into tiff format
  1138.         toutah    -- convert an IRIS image to Utah raster toolkit format
  1139.         toyuv     -- convert an IRIS image to yuv format
  1140.         toxwd     -- convert an IRIS image to X11 window dump (xwd) format
  1141.         unframe   -- remove constant colored pixels from around an image
  1142.         verbatim  -- force an IRIS image to be stored in verbatim format
  1143.         vhist     -- display a 3-D volume histogram of a color image
  1144.         writeimg  -- simple libimage example to write out an RGB image file
  1145.         xzoom     -- magnify or minify an image in the x direction
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151. Image Libraries:
  1152.  
  1153.     libimage --
  1154.  
  1155.         libimage contains the modules necessary to create, open, read and 
  1156.         write IRIS image files.  See libimage/README for the dope on the
  1157.         fundamentals of libimage.a. (README.lp to PostScript printers)
  1158.         NOTE:  there is a new image processing library called libil.a.  
  1159.                This Image Library (IL) is a bonafide software product with 
  1160.                completely documented and supported features.  Its default 
  1161.                image file format is tiff, but it also understands 
  1162.                everything about IRIS image file format.   This C++ library 
  1163.                is an object-oriented, extensible toolkit for creating, 
  1164.                processing and displaying images on all SGI platforms.  
  1165.                With the release of this IL, the singular reliance on 
  1166.                libimage's core capabilities is being superceded by a 
  1167.                library supplying a superset of functionality available 
  1168.                from libimage.  It is important for all developers and 
  1169.                programmers to understand the reality of libil.a's 
  1170.                existence.
  1171.  
  1172.     libgutil -- 
  1173.  
  1174.         contains MANY modules making up a collection of graphics utilities
  1175.         used by the programs in envtools, fonttools and imgtools.  There is
  1176.         also a copy of this library that lives in /usr/lib.  This library 
  1177.         includes functions to triangulate concave polygons, draw character 
  1178.         strings with geometry, drawing character strings using geometry, 
  1179.         creating beveled and extruded shapes, automatic generation of 
  1180.         triangle meshes, AND MUCH MUCH MORE!!!!!!  Documentation is still 
  1181.         needing to be expanded for this, but a starting point is the 
  1182.         libgutil/libgutil.README file.  
  1183.         
  1184.     libcan --
  1185.  
  1186.         this library supports doing image processing operations on arrays 
  1187.         of pixels.  used by the "imp" and "enhance" programs.
  1188.  
  1189.  !  libtiff --
  1190.  
  1191.         contains public domain TIFF support software.  Included is a library,
  1192.         libtiff, for reading and writing TIFF files.  The library, along with
  1193.         associated tool programs, should handle most of your needs for 
  1194.         reading and writing files that follow the 5.0 TIFF spec for Classes 
  1195.         B, G, P, and R.  There is also some support for proposed additions 
  1196.         that are to appear in the 6.0 TIFF spec.  Also included is a couple
  1197.         of directories of contributed stuff, a documentation directory 
  1198.         containing a copy of the 5.0 spec, and some test images for most
  1199.         formats supported by the library.  Please consult the various README
  1200.         files for more details on what is included, what to do, etc. 
  1201.  
  1202.     lib/librle.a --
  1203.  
  1204.         contains the library part of the Utah Raster Toolkit distribution 
  1205.         version 3.0 of June, 1990.  "imgtools/fromutah" and "imgtools/toutah"
  1206.         are image file conversion programs that need this library.  The 
  1207.         Utah Raster Toolkit is now distributed from the University of 
  1208.         Michigan and the University of Utah.
  1209.  
  1210.  
  1211.  
  1212.  
  1213. Other Libraries:
  1214.  
  1215.     lib/libtri --
  1216.  
  1217.         This library supports triangularization of concave polygons.  libtri
  1218.         is able to take concave polygons, and/or polygons with holes in them,
  1219.         and correctly decompose these complex polygons into a series of 
  1220.         triangles.  An example program in tritest/tritest.c demonstrates an 
  1221.         implementation of this process.  We are not able to include the 
  1222.         source for this library at this time.
  1223.  
  1224.     lib/libui.a --
  1225.  
  1226.         the showcase development library is included 'cause more things are
  1227.         being written using the showcase ui (see compexp, enhance, movie,
  1228.         and styline)..  
  1229.  
  1230.     lib/libvor.a --
  1231.  
  1232.         used with the impression programs, libvor.a--written by the great
  1233.         Seth Teller (no relation to the destructively obsessed Edward T.)--
  1234.         is a voronoi partition/delaunay triangulation library based on Steve
  1235.         Fortune's plane sweep algorithm published in "Algorithmica," 1987,
  1236.         "A Sweepline Algorithm for `Voronoi' Diagrams", volume 2, pp.
  1237.         153-174.  An example program can be found in ../vortest with its
  1238.         accompanying copy of vordefs.h to better document the structures
  1239.         defined/accessed in libvor.a.
  1240.  
  1241.  
  1242.  
  1243.  
  1244. Geometry Tools:
  1245.  
  1246.     Simple Geometry Format modules --
  1247.  
  1248.         libgutil/{sgiobj.c, sgiobjgl.c} contains the routines to create:
  1249.  
  1250.         - List of quadrilaterals
  1251.         - List of triangles       
  1252.         - Mesh of triangles
  1253.  
  1254.         All of these are used to create objects of sgo format for 
  1255.         representing 3D geometry.  Each sgo object is either a list 
  1256.         of quadrilaterals, a list of triangles, or a list of 
  1257.         triangle meshes.  The programs in the "objtools" dir provide
  1258.         various tools for operating on these objects.  These tools 
  1259.         use various functions from libgutil that support a 
  1260.         simplified interface to describing shading, automatic 
  1261.         triangle mesh generation and efficient drawing of geometry.
  1262.      
  1263.         libgutil/tmeshobj.c has code which takes an sgo format object 
  1264.         composed of a list of triangles and makes this into a tmesh.
  1265.  
  1266.     objects --
  1267.  
  1268.         contains a collection of sgo objects.
  1269.  
  1270.     objtools --
  1271.  
  1272.         avgnorm  - averages the normals on all polygons in a triangle or 
  1273.                    quadralateral object
  1274.         explode  - translate verticies in direction of normals
  1275.         fitobj   - fits an object into a unit cube
  1276.         layer    - view an sgi object interactively
  1277.         makeoct  - can be used to create spheres
  1278.         objprint - prints a textual description of an object
  1279.         objstat  - prints info about an sgi object
  1280.         spin     - virtual sphere rotation interface
  1281.         sterrend - cheap red/cyan stereo
  1282.         subdiv   - subdivide triangles to maximum edge length
  1283.         swcurve  - create surfaces of rotation from a textual list of numbers
  1284.         tlbsp    - BSP sort a triangle list
  1285.         tldraw   - draw a triangle list
  1286.         tlfit    - fit a triangle list to a -1,1 -1,1 space
  1287.         tlline   - locate interesting edges in a set of triangles
  1288.         tllint   - merge coordinates that are almost identical
  1289.         tlsplit  - split all intersecting triangles in a triangle list
  1290.         tlsub    - fit a triangle list into a -1.0..1.0 -1.0..1.0 space
  1291.         tltops   - draw a triangle list
  1292.         tltotext - print a triangle list in text format
  1293.         tomesh   - auto tmesh generation.
  1294.         tosgo    - converts old spin formant objects to sgo format
  1295.         totri    - convert a quadlist object into a triangle list
  1296.         warpgeom - warps the geometry of an object
  1297.         warpnorm - this warps the normals of an object
  1298.  
  1299.  
  1300.  
  1301.  
  1302. Color Correction Software for Printing:
  1303.  
  1304.     sgisep --
  1305.  
  1306.      We used to provide a subtree of color separation software to convert 
  1307.      RGB images to film for 4 color printing, but it is felt you will get 
  1308.      better results by simply sending your original rgb images to Phoenix
  1309.      Press directly.  Their fown # is 714/261-0333. Ask for James Levesque.
  1310.  
  1311.  
  1312.  
  1313.  
  1314. Graphics Desktop Tools For The IRIS:
  1315.  
  1316.     tools --
  1317.  
  1318.         desktop tools:
  1319.  
  1320.         blanktime - set the number of frames before the screen blanks
  1321.         cedit     - a simple color editor
  1322.         clock     - a simple desk clock
  1323.         colorbars - colorbar generator 
  1324.         cycol     - display a palette of colors
  1325.         dynadraw  - caligraphic drawing program
  1326.         gamcal    - visually check gamma display calibration
  1327.         grid      - draw a 10 by 10 grid for aligning a camera to the display
  1328.         ical      - a simple desk calendar
  1329.         interp    - gamma-corrected linear color ramp generator
  1330.         mag       - pixel replication and magnification in a window
  1331.         makemap   - reload default color lut values into the GL color map
  1332.         mousemon  - display state of the three mouse buttons
  1333.         palette   - display a palette of colors in the colormap
  1334.         phwarp    - warp images on a VGX (or higher ended) machine
  1335.         showmap   - display the contents of the GL color map
  1336.         textcolors- set the colors used by a xwsh window
  1337.         vis       - copy the bytes of a file to the screen
  1338.         weave     - a weaving simulator for IRIS workstations
  1339.  
  1340.         graphics utility tools:
  1341.  
  1342.         cpprint - print an image file on a color PostScript printer
  1343.         pprint  - print an image file on an adobe post script printer
  1344.         rgntest - an rgn example useful for management of regions
  1345.         tritest - using libtri.a, a way to triangulate complex polygons
  1346.  
  1347.  
  1348.  
  1349.  
  1350. In their own universe:
  1351.  
  1352.     styline --
  1353.  
  1354.         creates hidden line drawings of 3-D geometry, and uses the Showcase 
  1355.         UI library to provide sliders that control the graphical style of 
  1356.         the hidden line drawing.
  1357.  
  1358.     vortest --
  1359.  
  1360.         libvor.a is a voronoi partition/delaunay triangulation library 
  1361.         based on Steve Fortune's plane sweep algorithm published in
  1362.         "Algorithmica," 1987, "A Sweepline Algorithm for `Voronoi' Diagrams",
  1363.         volume 2, pp. 153-174.  Its .h file, "vordefs.h," and an example
  1364.         program, vorexamp.c, are included in this directory to better 
  1365.         document the structures defined/accessed in libvor.a.  BIZZARRE!!!!
  1366.  
  1367.  
  1368.  
  1369.  
  1370. Other Geometry Libraries:
  1371.  
  1372.         PostScript-like path library   - libgutil/path.c
  1373.         Matrix library of routines     - libgutil/matrix.c
  1374.         Vector library of routines     - libgutil/vect.c
  1375.         Easier GL lighting of geometry - libgutil/glshade.c
  1376.         Automatic triangle meshing     - libgutil/tomesh.c
  1377.            tomesh.c provides the routines to take a set of triangles 
  1378.            and make a tmesh out of this list of triangles
  1379.  
  1380.  
  1381.  
  1382.  
  1383. Other Libraries:
  1384.  
  1385.         Virtual-sphere interface     libgutil/track.c  
  1386.         General image dithering      libgutil/gendit.c & imgtools/gendit.c
  1387.         Picking colors from screen   libgutil/getapixel.c
  1388.         Graphics machine type query  gfxmachine() inside libgutil/glstuff.c
  1389.         Screen gamma                 tools/{gamcal.c, gamma.c}
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.    For anyone wishing to contribute any texture map or environment map
  1396.    images to our growing collection please contact:
  1397.  
  1398.                         dave ratcliffe
  1399.                         Silicon Graphics Inc.
  1400.                         2011 N. Shoreline Blvd.
  1401.                         Mountain View, CA 94039
  1402.  
  1403.                         email: dave@sgi.com OR devprogram@sgi.com
  1404.  
  1405.    or simply send me a tar tape of the stuff you'd like us to check out.
  1406.    make sure you include an intelligible return address so i can send 
  1407.    the tape back to you afterwards.
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.                     =====================================
  1414.                 !   PART IV:  On-Line Technical Documents
  1415.                     =====================================
  1416.  
  1417.  
  1418.      This subtree contains documents--mostly PostScript files--of a wide 
  1419.     range of technical information regarding SGI's software and hardware.
  1420.  
  1421.  
  1422.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1423.  +      ++++++++++++  NEW ADDITIONS AS OF VERSION 4.2:  ++++++++++++
  1424.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1425.  +
  1426.  +
  1427.  +  cc_c++_make_csh:  "The Silicon Graphics Delta C++ Compiler" White Paper, 
  1428.  +             (Preliminary), 18 pages.
  1429.  +
  1430.  +  Dwarf   :  updated doc on DWARF, a binary debugging-information format.
  1431.  +             The IRIX 6 compilers will produce debugging information in this 
  1432.  +             format rather than the format used in 5.2 and earlier releases.
  1433.  +
  1434.  +  irix5.2plusNewProds: * colormap usage differences between 5.1* and 5.2
  1435.  +             * "HIPPI Performance on IRIX 5.2" white paper,
  1436.  +             * html document on InPerson desktop conferencing sw product.
  1437.  +             * "REACT in IRIX V.5 Technical Report" paper on real-time
  1438.  +             * list of 5.2 IRIX patches, information current as of 7/20/94,
  1439.  +
  1440.  +  Inventor:  see the new toolbox/src/exampleCode/inventor/www FAQ + Known 
  1441.  +             Bugs, Fixes, and Workarounds html information files copied from
  1442.  +             the Silicon Surf www.sgi.com site.  access is thru 
  1443.  +             toolbox/www/toolbox.html (consult toolbox/www/README)
  1444.  +
  1445.  +  mipsABI:   see the new toolbox/src/swtools/mipsABI/abi-html MIPS ABI 
  1446.  +             Information Directory in html format replete with hyperlinks, 
  1447.  +             in-line images, etc, including a FAQ on porting to the MIPS ABI.
  1448.  +             access is thru toolbox/www/toolbox.html (see toolbox/www/README)
  1449.  +
  1450.  +  OpenGL:    "The Design of the OpenGL Graphics Interface"
  1451.  +
  1452.  +  networking: "Establishing a PPP connection using IRIX PPP" paper,
  1453.  +              "SLIP INSTALLATION AND CONFIGURATION GUIDE",
  1454.  +              update "Asynchronous Transfer Mode:  Implementations for 1994"
  1455.  +
  1456.  +  RFC:       new rfcs:  fyi1.txt, fyi2.txt, rfc1291.ps, rfc129[5-7].txt, 
  1457.  +             rfc1521.ps, rfc1563.ps, rfc1583.ps, rfc1584.ps, 
  1458.  +             rfc[1540-1649,1651-1663].txt
  1459.  +             WARNING:  this dir now measures 63+ megabytes.  See 
  1460.  +             RFC/{README,rfc-index.txt} for more details.
  1461.  +
  1462.  +  textureMapping:  * "Texture Mapping as a Fundamental Drawing Primitive"
  1463.  +             * "Fast Shadows and Lighting Effects Using Texture Mapping"
  1464.  
  1465.  
  1466.  
  1467.  
  1468.     64bit    - information relating to 64bit machines SGI is working on:  
  1469.                "Preparing for the 64 bit Future of IRIX", "Native 64-bit 
  1470.            Subprogram Interface for MIPS Architectures", "64-bit C 
  1471.            Porting Guide", and C & Fortran variable sizes file.
  1472.  
  1473.     ANSI-C  -  contains files comprising a technical review of the book, "The 
  1474.            Annotated ANSI C Standard", and the text originally published 
  1475.            as the ANSI C rationale with useful information about the 
  1476.            origin, creation and meaning of the ISO C standard.
  1477.  
  1478.     audio    - a PostScript file version of the 8/26/91 Draft Document 
  1479.                by Apple Computer discussing "Audio Interchange File Format 
  1480.                AIFF-C, A revision to include compressed audio data".
  1481.  
  1482.     cc_c++_make_csh - collection of documents relating to compilers, [p]make, 
  1483.            and c-shell:
  1484.                * c++-rules.ps: "Programming in C++, Rules and Recommendations",
  1485.                  (C) 1990-1992 by Ellemtel Telecommunications Systems 
  1486.                  Laboratories, 88 pages.
  1487.                * commonrules.ps:  "Silicon Graphics Inc, Common Makefile
  1488.                                   include files, Notes", 5/6/93, 39 pages.
  1489.                * cpp.qr       123-line C pre-processor "cheat sheet" quick ref
  1490.                * csh.qr       123-line C-shell quick reference.
  1491.                * make.qr      95-line make quick reference.
  1492.                * pmake.qr     203-line pmake quick reference guide.
  1493.                * makeconv.ps  "Silicon Graphics Makefile Conventions", A
  1494.                               Reference manual of the conventions followed in 
  1495.                               SGI Makefiles, 10
  1496.  
  1497.     DevDriver - inst images of two SGI manuals:  the IRIX Device Driver 
  1498.                Programming Guide and the IRIX Device Driver Reference Pages.  
  1499.                These manuals explain how to write device drivers for IRIX 
  1500.                Releases 5.0 and later and can be viewed using InSight.  For 
  1501.                installation instructions, see the README file.
  1502.  
  1503.     Dwarf    - documentation on DWARF, a binary debugging-information format.
  1504.                The TFP compilers will produce debugging information in this 
  1505.                format rather than the format used in 5.2 and earlier releases.
  1506.                Only people *writing* compilers, debuggers, or related tools
  1507.                are affected directly by this change.  DWARF defines, in detail,
  1508.                a way for compilers to tell debuggers about source programs.  
  1509.                DWARF1 is the DWARF produced by USL's SVR4 compilers and used by
  1510.                their debuggers.  It is no more capable than the MIPS mdebug
  1511.                symbol table and is less dense than mdebug.  We will not use 
  1512.                DWARF1.  SGI will be using DWARF 2.  It is capable of recording 
  1513.                much more detailed information than DWARF 1 and is far more 
  1514.                compact (debugging information in DWARF2 format takes much less 
  1515.                space on disk than debugging information in DWARF1 format).
  1516.  
  1517.     GIO_DRVR - contains information to write a device driver for a GIO 
  1518.                board with sections addressing:  Determining GIO Device 
  1519.                Addresses, Including GIO Device Drivers in the Kernel, 
  1520.                Writing edtinit(), GIO-Specific System Calls, GIO 
  1521.                Interrupt Handler, Programmed I/O (PIO), DMA Operations, 
  1522.                GIO Devices with Hardware Supported Scatter-Gather 
  1523.                Capability, and DMA on GIO Devices with No Scatter-Gather 
  1524.                Capability.
  1525.  
  1526.     I18N     - contains documentation on SGI's implementation of software 
  1527.                Internationalization.  These are only draft versions.  
  1528.  
  1529.     Inventor - PostScript files for the new "How to Write an Open Inventor 
  1530.            File Translator" document and a single PS file of the updated 
  1531.            Quick Reference Guide with info on Open Inventor nodes and the 
  1532.            Inventor file format, and a man page for the DxfToIv utility 
  1533.            which converts AutoCad's DXF format files to Inventor files.
  1534.  
  1535.     irix5.2plusNewProds:  info relevant to irix 5.2 and New Products:
  1536.                * 2 files on HIPPI:  New Product Bulletin + QnA's,
  1537.                * question-and-answer on the Indigo Magic User Environment
  1538.                  Interface,
  1539.                * the major changes between the 4.X and 5.2 versions of the
  1540.                  Installation Guide,
  1541.                * IRIS Media Libraries New Product Information on dmedia_dev 
  1542.          and svideodev,
  1543.                * Periodic Table IRIX Operating Systems as a 3-page showcase 
  1544.          file--current as of April 13, 1994,
  1545.                * Software Compatibility Matrix for software product numbers 
  1546.                  and software releases from 4.0.1 to 5.2
  1547.                * Field Information Bulletin #414 documenting known bug:
  1548.                  "Indigo2 XZ/Extreme stipple register causes graphics
  1549.                  problems on IRIX 5.2",
  1550.                * guidelines for the use of the /usr/share filesystem.
  1551.  
  1552.     libconv  - the newest addition to the mathlib subtree, libconv is an 
  1553.                optimized library available on Silicon Graphics computers.  
  1554.                It features Convolution for Finite Impulse Response (FIR) 
  1555.                and Infinite Impulse Response (IIR) filters, together with 
  1556.                Correlations.  The library modules take 1D and 2D inputs, 
  1557.                and are available in single and double precision for real 
  1558.                and complex arithmetic.  The 2D subprograms have been 
  1559.                parallelized and take full advantage of SGI parallel 
  1560.                architecture.
  1561.  
  1562.     mipsABI  - contains doc for mipsABI porting materials includes PS copy 
  1563.                of the "MIPS Processor ABI Conformance Guide Version 1.1.1" 
  1564.                (the "Black Book"), a mips FAQ about porting to the ABI, and 
  1565.            a short paper entitled "Constructing MIPS ABI Compliant 
  1566.            Binaries on the IRIX 5.x Operating System".
  1567.   
  1568.     Motif    - contains an SGI internal paper on Motif Performance Notes.
  1569.  
  1570.     networking -  tree containing networking documents:
  1571.                * "Asynchronous Transfer Mode:  Implementations for 1994"
  1572.  
  1573.     OpenGL   - contains an Analysis of PEX 5.1 and OpenGL 1.0, "OpenGL and X, 
  1574.                Part 1:  An Introduction", "OpenGL and X, Part 2:  Using OpenGL
  1575.                with Xlib," "OpenGL(tm) and X, Part 3: Integrating OpenGL with 
  1576.                Motif", copies of the "OpenGL and X" tutorial presented at the 
  1577.                8th Annual X Technical Conference, Boston, Mass., 1/24/94, 2 
  1578.            versions of a list mapping IrisGL commands to similar OpenGL 
  1579.            ones, "X Server Multi-rendering for OpenGL and PEX", and 3 
  1580.            PostScript files for the OpenGL Specification, including the
  1581.                Spec itself, the OpenGL Utility Library, and the API for the 
  1582.                OpenGL extension to the X Window System.
  1583.  
  1584.     optimization - contains PS copy of how to optimize your code from chapters
  1585.            one and three of the "Irix Programming Guide," covering "Using 
  1586.                the Compiler System," and "Improving Program Performance," as 
  1587.            well Chapter Two of the "IRIX System Programming Guide," to 
  1588.            help you use and build Dynamic Shared Objects.  Also included 
  1589.            are overview descriptions of Build-time alternatives relating 
  1590.            to ld, and an overview of Quickstart, Requickstart and tasks 
  1591.            performed by RLD, the dynamic linker.
  1592.   
  1593.     RFC      - Internet Request For Comments (RFCs) are texts documenting
  1594.                problems, test results, protocols, jokes, and just about every 
  1595.                aspect of the Internet, since its inception.  Internet RFCs 
  1596.                provide the current set of open standards used on the Internet,
  1597.                today.  To both ensure interoperability with other products and
  1598.                prevent re-invention of wheels, developers of network apps will 
  1599.                find it useful to be familiar with, and to the extent possible 
  1600.                conform to, applicable standards.  Examples of available 
  1601.                standards are the Simple Network Monitoring Protocol (SNMP), 
  1602.                Internet Protocol (IP), File Transfer Protocol (FTP), and 
  1603.                Simple Message Transfer Protocol (SMTP), all of which are 
  1604.                supported by SGI.
  1605.  
  1606.     SiliconStudio - information about Silicon Studio, a professional film and 
  1607.                video production system based on Silicon Graphics workstations,
  1608.                specialized video options and third-party software solutions:
  1609.                * "The Silicon Studio for Publishing Environment from Silicon 
  1610.              Graphics".
  1611.                * "Creative Desitinations, Silicon Studio Training Centers" 
  1612.                  document describing 8 locations in North America and Europe, 
  1613.                * "Silicon Studio Technical Report", covering Gailieo Video, 
  1614.                  Indy/Indigo^2 Video, Cosmo Compress, and Sirius Video 
  1615.                  Technical Reports.
  1616.   
  1617.     textureMapping - addresses issues pertaining to texture mapping:
  1618.                * "Interactive Geometric Image Transformation Using Texture 
  1619.                   Mapping",
  1620.                * "Accelerated Volume Rendering and Tomographic Reconstruction 
  1621.                   Using Texture Mapping Hardware",
  1622.                * "Texture Mapping in Technical, Scientific and Engineering 
  1623.                   Visualization".
  1624.  
  1625.     VMEinterface - VME interface description for Personal Iris, 4D100 to 
  1626.                4D400 series machines, and Crimsons.  This paper does NOT 
  1627.                include the IO4 VME in Challenge and Onyx systems.
  1628.   
  1629.     XInputExtension  contains four PostScript files on the X11R5 Input
  1630.                Extension Library written by the MIT X Consortium:  "X11 Input 
  1631.                Extension Library Specification", "X11 Input Extension Porting 
  1632.                Document", "Appendix A,  Input Extension Protocol Encoding", 
  1633.                and "X11 Input Extension Protocol Specification", as well as a 
  1634.                copy of the README file that will appear under 
  1635.                /usr/lib/X11/input/config later in 1994, providing info on 
  1636.                Device controls and the ways SGI has extended them to change 
  1637.                and query things about devices.
  1638.  
  1639.     Xpm      - a document on XPM (X PixMap), a format for storing/retrieving 
  1640.                X pixmaps to/from files.
  1641.  
  1642.     Xserver  - contains 3 PostScript versions of Silicon Graphics X server 
  1643.                papers respectively titled, "A Fully Functional 
  1644.                Implementation of Layered Windows," "Program X Overlay 
  1645.                Windows," and "Going Beyond the MIT Sample Server:  The 
  1646.                Silicon Graphics X11 Server".
  1647.   
  1648.     video    - contains the SGI Digital Video specification including the 
  1649.                data format, electrical and mechanical interfaces used to get 
  1650.                digital video data into and out of the Silicon Graphics 
  1651.                platforms via this 60-pin connector.
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.                       ================================
  1658.                   !        PART V:  Public Domain
  1659.                       ================================
  1660.  
  1661.  
  1662.               This subtree contains useful software obtained from 
  1663.               the public domain which has been ported to the IRIS.
  1664.  
  1665.       Unlike all the other software contained in the Developer Toolbox, 
  1666.         this software can be distributed freely, without restriction.
  1667.  
  1668.  
  1669.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1670.  +      ++++++++++++  NEW/UPDATED ADDITIONS AS OF VERSION 4.2:  ++++++++++++
  1671.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1672.  +
  1673.  +  FTPsites      Expanded list (current as of July 29, 1994) of visited FTP
  1674.  +                sites containing public domain software for the SGI platform.
  1675.  +
  1676.  +  FWF           ``Free Widget Foundation'' flexible widgets compliments of 
  1677.  +                the X user community.
  1678.  +
  1679.  +  bin/CLRview   a 3D visualization prog exploits real-time capabilities of 
  1680.  +                IRIS machines (updated to version1.77).
  1681.  +
  1682.  +  bin/linkwinds a visual data analysis and exploration system designed to 
  1683.  +                rapidly and interactively investigate large multivariate and
  1684.  +                multidisciplinary data sets to detect trends, correlations 
  1685.  +                and anomalies.  It accepts HDF, CDF, netCDF, FITS, PDS, SGI 
  1686.  +                RGB, and binary byte and floating point data.
  1687.  +
  1688.  +  plan          a schedule planner based on X/Motif.  
  1689.  +                version 1.3.1, released 7/11/94.
  1690.  +
  1691.  +  psgl          latest 5/29/94 release, v2.0 beta of psgl to intercept GL 
  1692.  +                calls and convert to EPS commands.
  1693.  +
  1694.  +  rayshade      swank ray tracing program, v4.0.6, reads multi-line ASCII 
  1695.  +                file describing scene to be rendered, and modified to output 
  1696.  +                images in SGI RGB format using libimage instead of rayshade 
  1697.  +                standard, Utah Raster format.
  1698.  +
  1699.  +  xbdx          sgi-instable images containing necessary images to install 
  1700.  +                executable copies of xdbx on an SGI workstation running 
  1701.  +                IRIX 5.2+
  1702.  
  1703.   
  1704.   Contents of ~4Dgifts/toolbox/public:
  1705.  
  1706.     FTPsites    - updated (current as of July 29, 1994) list of known archives 
  1707.           containing Public Domain software for SGI machines available 
  1708.           via ftp.
  1709.  
  1710.     GNU         - software from the Free Software Foundation src+inst-able 
  1711.                   images for GNU EMACS (version 19.22) and src for GNUMAKE.
  1712.  
  1713.     HPGL        - includes some utilities for using plot files in Hewlett 
  1714.                   Packard Graphics Language format.
  1715.  
  1716.     ImageMagick - v2.3.7, a collection of X11 image processing and display 
  1717.           utilities.
  1718.  
  1719.     RTF         - a formatted text display widget in the Motif toolkit.
  1720.  
  1721.     SciAn       - a scientific visualization and animation program primarily 
  1722.                   intended to do 3-D visualizations of data in an interactive 
  1723.                   environment with the ability to generate animations using 
  1724.                   frame-accurate video recording devices.
  1725.  
  1726.     TeX         - text processing system -- ported-to-IRIX-5.2-version.
  1727.     NOTE:  on v4.2 of the developer toolbox CD, the TeX directory contents are
  1728.            NOT included.  this was necessary to make space for the "new
  1729.            additions" list.  the TeX distribution has not changed since v4.1.
  1730.            everyone who did not receive the v4.1 CD in May will receive a copy
  1731.            along with v4.2.
  1732.  
  1733.     Xpm         - XPM (PixMap) library (version 3), a format for storing/
  1734.                   retrieving X pixmaps to/from files, and pixmap (version 2.0,
  1735.                   R4/R5 version), a pixmap editor based on XPM library.
  1736.  
  1737.     Xprof       - xprof is an X protocol profiler which reads an X scope trace 
  1738.                   to produce a profile of requests made by a client.  xmeasure 
  1739.                   is a utility which produces X server metrics used by xprof.
  1740.  
  1741.     agrep       - agrep (version 2.04) is a new tool for fast text searching 
  1742.                   allowing errors.  agrep is similar to egrep (or grep or 
  1743.                   fgrep), but it is much more general (and usually faster).
  1744.      
  1745.     bin subtree--public domain binaries and doc but no source:  
  1746.  
  1747.                 * CLRpaint, "a 24-bit paint program used to cut and paste 
  1748.                   scanned images, add titles to screens, prepare texture maps, 
  1749.                   and to paint your own images"
  1750.   
  1751.                 * CLRview, "a 3D visualization program designed to exploit the 
  1752.                   real-time capabilities of" IRIS machines.
  1753.   
  1754.     bit         - Bitmap Image Touchup image pkg for SGI machines, v0.91,  
  1755.                   handles IRIS RGB image files, ppm, pgm, pbm, gif, jpeg, 
  1756.                   PostScript, XBM, XPS, TMP, RAS, CMPRS- and tiff file formats.
  1757.  
  1758.     cdsend      - reads audio CD's over SCSI, converts to a format suitable for
  1759.                   broadcast, and writes this to stdout.
  1760.  
  1761.     dbmalloc    - the malloc debugging library (patchlevel 14) with drop-in 
  1762.                   replacements for standard dynamic memory allocation routines 
  1763.                   and many C modules typically used to access/manipulate these 
  1764.                   data areas.  Almost identical to the original functions, the 
  1765.                   replacements perform a significant amount of error checking 
  1766.                   and/or validating.
  1767.  
  1768.     fax         - v2.2.2, reasonably full-functioned facsimile service for 
  1769.           UNIX includes source and inst images;
  1770.  
  1771.     ghostview   - a full function user interface for ghostscript
  1772.  
  1773.     ghostscript - a language/interpreter (v2.6.1) much like PostScript.
  1774.  
  1775.     inst        - sgi inst-able images of emacs19, flexfax, ghost[script/view],
  1776.                   gzip, jpeg, pbmplus and xpd.
  1777.  
  1778.     jpeg        - version 4 image compression, decompression and display
  1779.                   software plus CLR library additions.
  1780.  
  1781.     oneko       - a cat|dog cursor "chases the mouse|bone" around the screen;
  1782.   
  1783.     patch       - automagically inserts the contents of software update context
  1784.                   diffs into the original source.
  1785.  
  1786.     pbmplus     - many progs to convert from one image format to a "standard" 
  1787.                   format, then from that standard format to many other formats.
  1788.   
  1789.     plan        - a schedule planner based on X/Motif. It displays a month 
  1790.                   calendar similar to xcal, but every day box is large enough 
  1791.                   to show appointments in small print.  By pressing on a day 
  1792.                   box, the appointments for that day can be listed and edited..
  1793.  
  1794.     psgl        - package to intercept GL calls and convert them into 
  1795.                   encapsulated postscript (EPS) commands.
  1796.  
  1797.     radio       - enables listening to audio transmitted as UDP packets on a 
  1798.                   local area network by broadcast.
  1799.  
  1800.     rsynth      - v.9, speech synthesis program ported to SGI.
  1801.  
  1802.     sgiCD       - two progs based on the SGI CD audio library:  one gives basic
  1803.                   info about an audio disk, the other plays an audio CD loaded 
  1804.                   in an SGI CDrom drive through the SGI Indigo's speaker (i.e. 
  1805.                   the libcdaudio routines are used to read the digital data 
  1806.                   directly from the CD, and play the samples through the Audio 
  1807.                   Processor).
  1808.  
  1809.     shar        - a utility for building a shell archive.
  1810.  
  1811.     sox         - provides translators for sound samples between different file
  1812.                   formats (Sound Blaster .VOC files, IRCAM SoundFile files, SUN
  1813.                   Sparcstation .au files, mutant DEC .au files, Apple/SGI AIFF 
  1814.                   files, Macintosh HCOM files, Sounder files, and Soundtool 
  1815.                   (DOS) files) and performs various sound effects including 
  1816.                   changing the sample rate, adding echo delay lines, applying 
  1817.                   low- and band-pass filtering, and the infamous Fender Vibro 
  1818.                   effect.
  1819.  
  1820.     tarmail     - a utility for conveniently sending files through e-mail.
  1821.  
  1822.     tuner       - a motif-based "tuner" for ethernet radio stations.
  1823.  
  1824.     vis5d       - v3.3, a system for visualizing data made by numerical 
  1825.           weather models and similar sources, and includes the vis5d 
  1826.                   visualization program, several programs for managing and 
  1827.                   analyzing five-dimensional data grids, and instructions and 
  1828.                   sample source code for converting your data into its file 
  1829.                   format.
  1830.  
  1831.     xcdplayer   - X window system interface to run the sun or sgi cdrom drive.
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.       ====================================================================
  1838.           PART VI  :  Hardware Tree Device Driver Code/Documentation
  1839.       ====================================================================
  1840.  
  1841.  
  1842.      This subtree contains source code for device drivers and some on-line
  1843.          copy of technical information useful for hardware developers.
  1844.  
  1845.  
  1846.  
  1847.   Contents of ~4Dgifts/toolbox/hardware:
  1848.  
  1849.      dat          :  This sample driver source code is for provided to give 
  1850.                      you an example of how to use dslib routines.  It is NOT 
  1851.                      the aim of this driver to replace the tape driver in 
  1852.                      IRIX nor it is to be used INSTEAD of that driver.  It 
  1853.                      is simply a working user-level driver to be used and 
  1854.                      studied as an example of interfacing with the Scsi bus 
  1855.                      through routines in dslib library.
  1856.  
  1857.      h550_driver  :  NOTE that THIS DRIVER will ONLY OPERATE ON IRIX 5.2 or 
  1858.                      later.  Contains the source for an in-process project of
  1859.                      writing a device driver for the Comtrol Hostess 550
  1860.                      Serial Port Board.  The board can have either 4 our 8
  1861.                      ports per card.  The UART chip used on the board is a
  1862.                      16550.
  1863.  
  1864.      HDW.faq      :  "Frequently Asked Questions" about hardware issues.
  1865.  
  1866.      Hardware.FAQ :  the most recent SGI Hardware Frequently Asked Questions
  1867.                      maintained by Allan Schaeffer and posted to various
  1868.                      internet news groups as well as a list of questions and
  1869.                      answers culled from the last 1800 messages (as of late
  1870.                      October, 1993) to comp.sys.sgi.hardware.
  1871.  
  1872.      GIO_DRVR4.0.5:  GIO Device Driver Writing Guide.  The files in this
  1873.                      directory contain information needed to write a device
  1874.                      driver for a GIO board on an Irix 4.0.5 system software
  1875.                      platform.
  1876.  
  1877.      GIO_DRVR5.1  :  GIO Device Driver Writing Guide.  The files in this
  1878.                      directory contain information needed to write a device
  1879.                      driver for a GIO board on an Irix 5.1 system software
  1880.                      platform.
  1881.   
  1882.      monitorCalibration:  file with information on how to calibrate the new 
  1883.                      Sony monitors.
  1884.  
  1885.      mount_media  :  two sets of programs in this tree allow user mounting of 
  1886.                      either a CD-ROM or a Magneto-Optic (MO) drive to an SGI 
  1887.                      system.  Normally a user would have to have root access 
  1888.                      to mount any device.  These two programs allow any user 
  1889.                      to do this.
  1890.   
  1891.      parallel_port:  contains an example of how to program for the parallel
  1892.                      port.  (more to come...)
  1893.   
  1894.      rap          :  Roland RAP-10 Music Card Device Driver for Eisa Bus
  1895.                      contains a sample device driver for IRIX 5.2 EISA bus,
  1896.                      demonstrating:
  1897.                      * Writing a character device driver for EISA bus,
  1898.                      * How to obtain an Interrupt number (IRQ),
  1899.                      * How to allocate and program EISA DMA chipsets,
  1900.                      * How to program Eisa Dma channels for hardware 
  1901.                        recognition,
  1902.                      * How to use EISA Dma chips to move data from/to a 
  1903.                        device,
  1904.                      * How to manage and use a circular buffers between 
  1905.                        kernel and user's read/write calls,
  1906.                      * and many more ...
  1907.  
  1908.      summa        :  contains all the files required to build and test the
  1909.                      Summagraphics 6x9 tablet driver.  This could be used
  1910.                      as an example of how to create a streams device driver
  1911.                      for a typical serial port device.
  1912.  
  1913.      video        :  at present contains a postscript file describing the SGI
  1914.                      Digital Video specification including the data format, 
  1915.                      electrical and mechanical interfaces used to get digital 
  1916.                      video data into and out of the Silicon Graphics platforms
  1917.                      via this 60-pin connector.
  1918.  
  1919.      VMEdoc       :  VME interface description for Personal Iris, 4D100 to
  1920.                      4D400 series machines, and Crimsons.  This paper does
  1921.                      NOT include the IO4 VME in Challenge and Onyx systems.
  1922.   
  1923.  
  1924.  
  1925.  
  1926.  
  1927.                      =================================
  1928.                  !        PART VII:  Binary Tools
  1929.                      =================================
  1930.  
  1931.  
  1932.     This subtree contains binary tools deemed useful for inclusion into the 
  1933.     Developer Toolbox.  For various reasons, the source code for these apps
  1934.     are not available.  Thus, they are included here as binaries only.
  1935.  
  1936.  
  1937.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1938.  +      ++++++++++++  NEW ADDITIONS/UPDATED AS OF VERSION 4.2:  ++++++++++++
  1939.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1940.  +
  1941.  +   CDmastering  - now contains mkisofs, a binary capable of creating an 
  1942.  +                  ISO-9660 filesystem image.
  1943.  
  1944.  
  1945.   Contents of ~4Dgifts/toolbox/bin:
  1946.  
  1947.      CDmastering  - contains mkdisc source as well as scripts and binaries 
  1948.             required to burn an SGI-style CD-ROM.  The scripts work 
  1949.             with:
  1950.                         The Sony CDW-E1/W1 CD Encoding/Writing units.
  1951.                         The Sony CDW-900E CD Recroding unit.
  1952.                     No other CD writing units are supported.
  1953.  
  1954.      fsn          - a 3D file system navigator in cyberspace, allowing one to 
  1955.                     "fly thru" a 3D representation of a file system.  Use fsn 
  1956.                     as an alternative to visually scanning the Toolbox tree.  
  1957.                     fsn has been updated to be able to handle *relative* paths 
  1958.                     for the top directory to be looked at.  In this way, it 
  1959.                     can now be run out of the toolbox, no matter what the 
  1960.                     mount point is on the local/remote machine. 
  1961.  
  1962.      games        - contains binaries + doc + data files (in ./.data) for 
  1963.                     various grafix[/audio] games.  Regretably, for legal 
  1964.                     reasons, the source for blackbox, pods, and sb is not 
  1965.                     available for distribution.  As Dick the Butcher says to 
  1966.                     Jack Cade in the second part of Shakespeare's Henry VI 
  1967.                     (2.4.70), "The first thing we do, let's kill all the 
  1968.                     lawyers."
  1969.  
  1970.      inout/backat - a groupware program which establishes an In/Out 
  1971.                     board on each person's machine on a local network 
  1972.                     enabling each person in a work group to keep other 
  1973.                     interested parties advised of their comings and 
  1974.                     goings.
  1975.  
  1976.      setfb        - a binary that sets the effective frame buffer depth to 
  1977.                     8 or 24 bitplanes and is intended for use by developers
  1978.                     wishing to test their applications in an 8-bit system, 
  1979.                     when what they have is a 24-bit system.
  1980.                     NOTE: only useable with Indigo^2 XL and Indy machines.
  1981.  
  1982.      tiepoint     - demos the use of Control or Tie points to determine 
  1983.                     the coefficients of a polynomial warping function.
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.                    =========================================
  1990.                !       PART VIII:  Applications Packages
  1991.                    =========================================
  1992.  
  1993.  
  1994.         This subtree contains various applications packages.  At the
  1995.         present time all packages are sgi in-house creations, but 
  1996.         there's no reason they can't be from "outside".
  1997.  
  1998.  
  1999.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2000.  +      ++++++++++++  NEW ADDITIONS/UPDATED AS OF VERSION 4.2:  ++++++++++++
  2001.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2002.  +
  2003.  +  cmapDoctor/cmapdoctor  a scanner/viewer for all X colormaps/visuals
  2004.  +                         including overlays, underlays and popups;
  2005.  +             cmapviewer  an X-based colormap/visual viewer
  2006.  +
  2007.  +  gmemusage     - graphical memory usage display tool to help programmers
  2008.  +                  analyze how their programs and the system as a whole is 
  2009.  +                  using memory.
  2010.  +
  2011.  +  gvi           - graphical vi command:  viewkit-implementation providing 
  2012.  +                  a graphical user interface to the vi(1) text editor.
  2013.  + 
  2014.  +  pcnfsd          updated PC-NFS daemon provides access for the IRIX user 
  2015.  +                  of authentication and print spooling services from your  
  2016.  +                  PC when used with Sun's PC-NFS software.
  2017.  
  2018.  
  2019.   Contents of ~4Dgifts/toolbox/src/apps:
  2020.  
  2021.     ibrowse       - an image file browser, version 1.1.2.  ibrowse lets you 
  2022.             view all the images in a directory as a scrollable field 
  2023.             of small picture icons.
  2024.  
  2025.     opaste        - a tool for pasting images into the overlay/popup 
  2026.                     planes.
  2027.  
  2028.     xconf         - an X-based local area network conferencing program, 
  2029.             v2.08.  Written by a veteran of the fown wars in SGI's 
  2030.                     customer support division and used extensively by same.
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.                        ==============================
  2037.                    !        PART IX:   UTILITIES
  2038.                        ==============================
  2039.  
  2040.  
  2041.               a brand new subtree containing various utilities 
  2042.               guaranteed to be useful to the "right audiences"
  2043.  
  2044.  
  2045.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2046.  +      ++++++++++++  NEW ADDITIONS/UPDATED AS OF VERSION 4.2:  ++++++++++++
  2047.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2048.  +
  2049.  +      with v4.2, we have begun including links as well to progs qualifying 
  2050.  +      as utilities even though they exist elsewhere in the tree (i.e. src
  2051.  +      is included).  these are indicated with "l->"
  2052.  +
  2053. l-> VCal            a simple calendar program with alarms.
  2054.  +
  2055.  +  cd-catalog      contains versions of music catalog files for for CDman(1)
  2056.  +                  and cdplayer(1), current as of July 31, 1994   
  2057.  +
  2058. l-> cmapdoctor      a scanner/viewer of X colormaps and visuals including
  2059.  +                  overlays, underlays, and popups.  this app can be used 
  2060.  +                  to diagnose/debug/verify colormaps and their contents
  2061.  +                  in applications using multiple colormaps and visuals.
  2062.  +
  2063. l-> fconv           a Motif-based numeric format conversion utility for hex,
  2064.  +                  octal and decimal equivalents.
  2065.  +
  2066. l-> gmemusage       a graphical memory usage display tool, developed at 
  2067.  +                  Silicon Graphics to help programmers analyze how their 
  2068.  +                  programs and the system as a whole is using memory.  
  2069.  +
  2070. l-> gvi             a modest graphical front end to the vi(1) text editor.  
  2071.  +                  By placing each vi editing window on top of each other 
  2072.  +                  and using the ViewKit TabPanel, one can easily select 
  2073.  +                  among editing sessions.  Each vi editing window has a tab 
  2074.  +                  (like a rolodex tab) associated with it.
  2075.  +
  2076.  +  sgihelp_dev     contains some bug fixes.
  2077.  +
  2078. l-> short_timeout   checks whether a remote host responds quickly, avoiding
  2079.  +                  a long wait for a network timeout.
  2080.  + 
  2081.  +  uil2VK          contains some bug fixes.
  2082.  +
  2083. l-> xcontact        Address Book and Contact Management Software.
  2084.  +
  2085. l-> xshowcmap2      an extension to xshowcmap and useful in debugging 
  2086.  +                  problems dealing with multiple colormaps and/or visuals.  
  2087.  +                  modified with three new optional arguments:
  2088.  +                     -visid allows specifying the visual id.
  2089.  +                     -cmap allows specifying the colormap id.
  2090.  +                     -windowid allows specifying a window id.
  2091.  
  2092.  
  2093.     cd-catalog      contains July 31, 1994 versions of music catalog files for 
  2094.                     for CDman(1) and cdplayer(1).  The music catalog stores 
  2095.                     titles, artists and program information for Compact Discs.
  2096.                     When a CD is inserted in the CD-ROM drive, CDman searches 
  2097.                     the music catalog for an entry containing catalog 
  2098.                     information for that recording.  If it finds one, it 
  2099.                     displays the information in its large display panel.  Data
  2100.                     from the recording's table of contents is used as the key 
  2101.                     for searching the music catalog.
  2102.   
  2103.     findSubSys      find which subsystem a file is installed from.
  2104.                     Sometimes one needs to know which subsystem a file was
  2105.                     installed from.  fss finds out the name of the inst
  2106.                     subsystem which installed a file.  Use it like this:
  2107.                     % fss /usr/etc/{ping,cvpcsd}
  2108.                     eoe2.sw.tcp usr/etc/ping
  2109.                     CaseVision.sw.pcsd usr/etc/cvpcsd
  2110.   
  2111.     parasol         Analyze FORTRAN source to assist in parallel porting.
  2112.                     parsol is a program for walking through FORTRAN source 
  2113.                     code and finding which functions call who and which 
  2114.                     functions touch what variables/common blocks.
  2115.   
  2116.     sgihelp_dev     SGIHelp development tools to integrate help with an
  2117.                     application in the Indigo Magic User Environment.
  2118.                     inst-able images of data and executables including an
  2119.                     example program that has help integrated into it, and a
  2120.                     sample of the various structures you can create in the 
  2121.                     help content for your application.  The first example, in 
  2122.                     /usr/share/Insight/XHELP/samples/exampleApp, shows a 
  2123.                     complete X11/Motif app integrating the library calls and 
  2124.                     helpmap file with the SGML help file.  The second example,
  2125.                     in /usr/share/Insight/XHELP/samples/sampleDoc, demos the 
  2126.                     various valid SGML structures when constructing a SGML 
  2127.                     instance of the XHELP DTD.  The document HELPDEV.txt, in 
  2128.                     /usr/share/Insight/XHELP, discusses how to integrate help
  2129.                     with your application in more detail.  Please read that 
  2130.                     file to begin your adventure of integrating SGIHelp into 
  2131.                     your application.
  2132.    
  2133.     uil2VK          contains a code generator that can be used with builder
  2134.                     Xcessory to generate code compatible with the ViewKit class
  2135.                     library. BuilderXcessory is a product of ICS, and can be
  2136.                     purchased directly from them or through SGI's ExpressWare.
  2137.  
  2138.  
  2139.  
  2140.  
  2141.       ===================================================================
  2142.            PART X:   3  PARALLEL  MATH  LIBRARIES  AND  OTHER  TOOLS
  2143.       ===================================================================
  2144.  
  2145.  
  2146.   Contains the following parallel math libraries and algorithm implementations:
  2147.  
  2148.  
  2149.     Contents of ~4Dgifts/toolbox/lib/mathlib:
  2150.  
  2151.       libblas - Basic Linear Algebra Subroutine.  3 levels of BLAS:
  2152.           Level 1 : for vector operations such as  y <- alpha*x + y
  2153.           Level 2 : for matrix vector ops such as  y <- alpha*A*x + beta*y
  2154.           Level 3 : for matrix-matrix ops such as  C <- alpha*A*B + beta*C
  2155.  
  2156.           LINPACK is a Fortran set of subroutines which analyze and solve 
  2157.                   various systems of simultaneous linear algebraic 
  2158.                   equations. It uses a subset of the Level 1 BLAS.
  2159.           LAPACK  (Linear Algebra PACKage) puts together a new set of 
  2160.                   linear algebra functions, supposed to supplant both 
  2161.                   LINPACK and EISPACK packages.  To achieve maximum 
  2162.                   efficiency across all types of hardware, the LAPACK 
  2163.                   routines are based on matrix-matrix BLAS 3 routines 
  2164.                   (e.g.  DGEMM). This implementation is much more 
  2165.                   performant than anything based on vector-vector 
  2166.                   Level 1 BLAS routines (e.g. DAXPY), or even matrix-
  2167.                   vector Level 2 BLAS routines (e.g. DGEMV).
  2168.  
  2169.       libconv - LIBCONV is an optimized library available on Silicon Graphics 
  2170.                 computers.  It features Convolutions for Finite Impulse 
  2171.                 Response (FIR) and Infinite Impulse Response (IIR) filters, 
  2172.                 together with correlations.  The library modules take 1D and 
  2173.                 2D inputs and are available in single and double precision 
  2174.                 for real and complex arithmetic.  The 2D subroutines have 
  2175.                 been parallelized and take full advantage of SGI's parallel 
  2176.                 architecture.
  2177.  
  2178.       libfft  - includes one, two and three dimensional Fast Fourier Transforms
  2179.           complex <---> complex   
  2180.           real    <---> complex
  2181.           single and double precision, 2D and 3D are parallel     
  2182.       libfft uses a "row-column" algorithm, and it is based on 1D FFTs from 
  2183.       FFTPACK
  2184.  
  2185.       skyline - F77 lib for solving linear systems of equations where the 
  2186.                 matrix is banded, with the bands varying in width, stored 
  2187.                 in a packed form known as skyline.
  2188.                                           
  2189.       psort   - Parallel implementation of the Merge-Sort Algorithm
  2190.  
  2191.  
  2192.     
  2193.  
  2194.  
  2195.                  ============================================
  2196.              !       PART XI:  Software Development Tools
  2197.                  ============================================
  2198.  
  2199.  
  2200.               Contains software tools source code to facilitate 
  2201.                   your own development and implementations:
  2202.  
  2203.  
  2204.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2205.  +      ++++++++++++  NEW ADDITIONS/UPDATED AS OF VERSION 4.2:  ++++++++++++
  2206.  +      ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2207.  +
  2208.  +    DSOs/forum93/forum93.showcase  updated version now includes information
  2209.  +              on 64-bit issues,
  2210.  +    
  2211.  +    libdmalloc:  a debugging malloc library useful for finding memory
  2212.  +              corruption quickly in many different programs, since it has 
  2213.  +              little overhead and does not require programs to be compiled 
  2214.  +              in any special way.  It uses the ability to plug in different 
  2215.  +              a malloc library using DSOs.  
  2216.  +
  2217.  +    libdwarf: src + updated doc files for DWARF, a binary debugging-
  2218.  +              information-format.
  2219.  +
  2220.  +    listSymbols:   script lists exported functions in libraries (useful for 
  2221.  +              checking spelling, searching for a function, etc), and as 
  2222.  +              "undef" to ensure all unresolved symbols are accounted for.
  2223.  +
  2224.  +    mipsABI/abi-html:  MIPS ABI Information Directory in html format 
  2225.  +              replete with hyperlinks, in-line images, etc, including a FAQ
  2226.  +              on porting to the MIPS ABI.  access is thru 
  2227.  +              toolbox/www/toolbox.html (consult toolbox/www/README)
  2228.  
  2229.  
  2230.   Contents of ~4Dgifts/toolbox/src/swtools:
  2231.  
  2232.       dbcopy -  contains a faster version of the memory copy routines than is 
  2233.                 found in libc in 5.1 and before.
  2234.  
  2235.       DSOs   -  new subtree contains 1993 dev'er showcase forum slides + 
  2236.                 8 Case Studies in Dynamic Shared Objects.
  2237.   
  2238.       DSOs/compiler-DSOtricks - new compiler-DSO tricks file, 
  2239.   
  2240.       DSOs/IRIXSysProg.DSOs.ps - 5.2 release version of "The IRIX System 
  2241.                 Programming Guide," Chapter 3:  "Dynamic Shared Objects",
  2242.   
  2243.       gencall - generates a high-level programming interface to the MIPS 
  2244.                 calling convention on SGI machines.  This allows a programmer 
  2245.                 to call any function specified by a call descrption at run 
  2246.                 time.  This can be used by programs that do not know what the 
  2247.                 call interface is at compile time.
  2248.   
  2249.       generic - a generic application providing a file-opening template 
  2250.                  I/O interface to UNIX.
  2251.  
  2252.       KrnlCrashDBG - Kernel core file report generator with man page and 
  2253.                 crpt.shar compilation,
  2254.   
  2255.       MakeSccsRCS - a "fax-able" covering Make(1)/Pmake(1) and SCCS,
  2256.                 Make(1)/Pmake(1) and RCS, and ftp location of GNUmake,
  2257.   
  2258.       malloc_db - A heap trasher finder--a "malloc" debugger.
  2259.  
  2260.       mipsABI - mipsABI porting materials includes:
  2261.                 * ABI porting Q&A in PS and on-line readable form (inst-able 
  2262.                   images+srcs for the on-line reader),
  2263.                 * PS copy of the "MIPS Processor ABI Conformance Guide 
  2264.                   Version 1.1.1" (the "Black Book"),
  2265.                 * porting examples, and 
  2266.                 * a paper on "Constructing MIPS ABI Compliant Binaries 
  2267.                   on the IRIX 5.x Operating System".
  2268.  
  2269.       MMmalloc -  plug in replacement of the "libmalloc" (malloc(3X)) library, 
  2270.                 in general is faster, more memory efficient and has better 
  2271.                 functionality than the original libmalloc.  Major feature is 
  2272.                 to be able to recycle memory so as to reduce swapping and 
  2273.                 swap requirements.  Compared to the recent version of libc's 
  2274.                 malloc it is faster with comparable memory usage and aging 
  2275.                 characteristics.
  2276.   
  2277.       QnA-compilers - a "Question-and-Answer" file of information snarfed from 
  2278.                 various external and internal-to-SGI news groups on issues 
  2279.                 pertaining to compilers.
  2280.   
  2281.       tracebackCode- 2 progs provide alternate implementations of a function 
  2282.                 which prints a stack traceback of the calling program.  They 
  2283.                 are principally useful for debugging code that has gotten 
  2284.                 into an `interesting' location.  Since the functions return 
  2285.                 normally, the application can continue to operate.
  2286.   
  2287.       trubasic: a fully functional version of the True BASIC programming 
  2288.                 language with a 250-line limit on programs, for writing
  2289.                 text-mode and graphics utilities and supports X Windows and 
  2290.                 the GL.  True BASIC progs can be run with little or no 
  2291.                 modification on MACs and PCs.
  2292.  
  2293.       XandSysPerf:  files pertinent to X and system perfomance issues.
  2294.   
  2295.  
  2296.  
  2297.  
  2298.  
  2299.              ===================================================
  2300.                  PART XII:  Software for Different Tutorials
  2301.              ===================================================
  2302.  
  2303.  
  2304.            Contains software for various "visualization tutorials:
  2305.  
  2306.  
  2307.      geometer        IRIX-5.2 version runs with jot instead of zip.
  2308.                      geometer illustrates concepts of 2-D Euclidean and
  2309.                      projective geometry by enabling the user to visually 
  2310.                      "prove" to herself the validity of any number of geometric 
  2311.                      proofs and theorems.  Also contains code that 
  2312.                      solves 2-D constraint problems, and illustrates an 
  2313.                      interesting form of user interface that allows both 
  2314.                      graphical and textual interaction.
  2315.  
  2316.  
  2317.      custEducation - the earlier graphics tutorials have been, at least for
  2318.                      the time being, retired from service since they were not
  2319.                      rigorous enuff for 5.1 Irix.  Currently a new set of
  2320.                      programs have been developed all implemented in OpenGL.
  2321.                      In version 4.0 of the Developer Toolbox there are two
  2322.                      opengl subtrees that are being taught by SGI's Technical
  2323.                      Education Department:
  2324.                       opengl1:  OpenGL Programming 1 Course -- Sample Programs
  2325.                       (covering the basics)
  2326.                      and
  2327.                       opengl2:  OpenGL Programming 2 Course -- Sample Programs
  2328.                       (addressing more advanced programming issues.)
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.                   ==========================================
  2335.                       PART XIII:  Printer Software Tools
  2336.                   ==========================================
  2337.  
  2338.  
  2339.          Contains software relevant to the infinite world of printing 
  2340.          technology including:
  2341.  
  2342.  
  2343.  
  2344.  
  2345.     lpr      - a script enabling default lp printing dump to lpr.
  2346.                this script is an lp interface that invokes lpr.  lpr
  2347.                can then invoke a network printer.  This script allows
  2348.                printing to lpr from workspace.
  2349.   
  2350.     ps_fonts - programs to help you check whether the PS device you
  2351.                have or intend to buy will allow you to print all
  2352.                characters in the alphabets you want to use.
  2353.  
  2354.     supported.devices.list -  List of printers (and scanners) supported by
  2355.                SGI, all told, with notes including which are supported by
  2356.                Impressario.  current as of April 7, 1994.
  2357.